巴啦啦拉粑粑 2020-03-21 12:54 采纳率: 66.7%
浏览 551

通过python request模块模拟手机提交企业微信表单问题

手机版填写页面如下
图片说明

然后我通过fiddler抓包,抓到提交链接,想通过post直接提交,但无奈一直提交不成功,抓到的信息如下

POST https://doc.weixin.qq.com/form/share?f=json HTTP/1.1
Host: doc.weixin.qq.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary0nQoOej921mBaAuX
Origin: https://doc.weixin.qq.com
Accept-Encoding: br, gzip, deflate
Cookie: tdoc_sid=AMM3UAAibUsGPjBvAHMwcQAA; tdoc_skey=1688851793715907&b7c983fede0c309d329c96609308ad43CAESIEL1u9VJLkQlZC9omVnIxuJVQVCuBYTg-fSIMv9AalvU; tdoc_vid=1688851793715907; xm_data_ticket=CAESIEL1u9VJLkQlZC9omVnIxuJVQVCuBYTg-fSIMv9AalvU; wwapp.cst=859E6EA21BC7EAB3813E67EC6C12CE47DDDC930F08AE69E8662155724C8A9420F72500E7234C7F6490CA8022487D0CE8; wwapp.deviceid=DD8736FD-BD47-4ECC-B248-F48206FED5AA; wwapp.st=ED137002C8A85B417465AD60BBB415DEF815E26B8879257C3D6F117515042789D5381AB23350D847250617FEE7E6B75F1C2A98F2D8E3A93F1C2535F85811E41F702F3A1E5BCE1A26FB49F0876C753743B7EE75D2B1A6BDBC020A21EAA0F47BF90AE9359F22114DD179A7813DEDE8F8C45EF6342D4BC9E26ECD97731097F7DFE85C5C369A818293CEB854E7A2E49A78E5FDD83A5DEBB100F52D6D0071CCFF2310; wwapp.vid=1688851793715907; xm_lang=zh-cn
Connection: keep-alive
Accept: application/json, text/plain, */*
User-Agent: Mozilla/5.0 (iPad; CPU OS 12_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 wxwork/3.0.7 MicroMessenger/7.0.1 Language/zh
Referer: https://doc.weixin.qq.com/
Content-Length: 1159
Accept-Language: zh-cn

------WebKitFormBoundary0nQoOej921mBaAuX
Content-Disposition: form-data; name="key"


------WebKitFormBoundary0nQoOej921mBaAuX
Content-Disposition: form-data; name="type"

3
------WebKitFormBoundary0nQoOej921mBaAuX
Content-Disposition: form-data; name="form_id"

ADQAfwd7AAk_ADQAfwd7-AkAAcALwY_AHMYglWYoEARE1584633600
------WebKitFormBoundary0nQoOej921mBaAuX
Content-Disposition: form-data; name="form_reply"

{"items":[{"question_id":1,"text_reply":"佛山","option_reply":[]},{"question_id":2,"text_reply":"2018094343138","option_reply":[]},{"question_id":3,"text_reply":"","option_reply":[2]},{"question_id":4,"text_reply":"","option_reply":[2]},{"question_id":5,"text_reply":"","option_reply":[1]},{"question_id":6,"text_reply":"","option_reply":[]},{"question_id":7,"text_reply":"","option_reply":[]},{"question_id":8,"text_reply":"","option_reply":[2]},{"question_id":9,"text_reply":"","option_reply":[2]}]}
------WebKitFormBoundary0nQoOej921mBaAuX
Content-Disposition: form-data; name="f"

json
------WebKitFormBoundary0nQoOej921mBaAuX
Content-Disposition: form-data; name="source"


------WebKitFormBoundary0nQoOej921mBaAuX--

上面的form reply字段就是要填的信息
代码应该怎么写

我是这样请求的
图片说明

实在想不通 错在哪里

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-03-21 14:08
    关注

    WebKitFormBoundary的内容是base64编码过的,你这里照着模仿就可以,这个是固定的

    倒是Cookie,你要从服务器得到set-cookie然后再发回去。这个是你要调试和检查的。

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试