python - 发布请求和 WebkitBoundary
问题描述
我希望你有一个美好的一天。
我想使用 python 请求提交表单。我要发送表单的网站使用 Wordpress 的 Contact Form 7。
当我检查我需要发送的值时,我看到了这个:
------WebKitFormBoundaryTS7bVTlHoJAHKQQk
Content-Disposition: form-data; name="_wpcf7" 880
------WebKitFormBoundaryTS7bVTlHoJAHKQQk Content-Disposition: form-data; name="_wpcf7_version"
4.9.2
------WebKitFormBoundaryTS7bVTlHoJAHKQQk Content-Disposition: form-data; name="_wpcfy_locale"
[]
当我使用调试工具检查请求标头时,我也看到了这一行:
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryTS7bVTlHoJAHKQQk
什么是 TS7bVT1HoJAHKQQk ?我是否需要生成这样的变量才能正确提交表单?如果是,我该如何生成 onec。
当我使用请求提交我的表单时,我确实在 json 中收到了一个确认邮件,说 mail_sent 所以我想知道,因为我从来没有接到过电话也没有回复过电子邮件(这是为了找工作),是因为我没有实现 WebkitFormBoundary.. . ?
干杯,并提前感谢您抽出时间来回答,我真的很感激
编辑:这是我的代码
session = requests.session()
payload = {
"your-tel" : phone_number ,
"your-name" : last ,
"your-firstname" : first ,
"your-email" : mail[p].strip().split(':')[0] ,
"lang" : "fr" ,
"g-recaptcha-response" : recaptcha_answer ,
"bb2_screener_" : "1529168805 83.227.72.84 83.227.72.84" ,
"accept" : "1" ,
"_wpcf7cf_visible_groups" : "[]" ,
"_wpcf7cf_options" : '{"form_id":880,"conditions":[],"settings":false}' ,
"_wpcf7cf_hidden_groups" : "[]" ,
"_wpcf7cf_hidden_group_fields" : "[]" ,
"_wpcf7_version" : "4.9.2" ,
"_wpcf7_unit_tag" : "wpcf7-f880-p881-o1" ,
"_wpcf7_locale" : "fr_FR" ,
"_wpcf7_container_post" : "881" ,
"_wpcf7" : "880" ,
}
header = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'fr',
"Connection":"keep-alive",
"Upgrade-Insecure-Requests":"1",
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/65.0.3325.181 Chrome/65.0.3325.181 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest',
}
submit = session.post('website', data=payload, headers=header, timeout=120)
解决方案
推荐阅读
- python - 在python中将coo格式转换为边权重
- java - 如何动态获取/设置 JRadionButtonMenuItem?
- python - ESPN Gamecast Python Webscraping
- django - django celery-progress:元素“progress-bar-message”的默认消息替换自定义消息
- haskell - 对于可能无法作为设置器的镜头,适当的抽象是什么?
- amazon-ec2 - 如何在亚马逊 ec2 实例中添加两个公共地址(在 Web 中打开)
- wordpress - 如何在用户更改 woocommerce 的送货地址时发送邮件
- javascript - 单击按钮时重定向到另一个页面-> Javascript
- azure - 无法注册到 azure devops。错误:糟糕!发生了一些事。请查看我们的支持页面以获取服务更新,然后再试一次
- postgresql - 带有硬编码 heroku postgres 凭据的 Flutter 应用程序,如何从 Flutter 应用程序访问 heroku postgres 凭据?