【发布时间】:2016-04-23 21:47:52
【问题描述】:
我想使用 Python 提交 POST 请求,最好是 Python3。 问题是,服务器必须以某种方式阻止请求(即使使用正确的标头和 cookie 等)。
要亲自查看,只需转到此链接,填写任何电话号码和电子邮件,然后点击提交。我希望复制这个,即使我需要使用 robobrowser 或其他东西(也不起作用)。
https://sprint-locator.safely.com/signupBasicInformation.htm
我也试过用 cURL 复制它,没有。
import requests
payload = {'email': 'admin%40dr.com', 'emailConfirm': 'admin%40dr.com', 'phoneNumber.areaCode': '302', 'phoneNumber.prefix': '750', 'phoneNumber.line': '1213'}
url='https://sprint-locator.safely.com/signupBasicInformation.htm'
r = requests.post(url, payload)
print(r.text)
【问题讨论】:
-
所以您可以从表单提交请求,但不能从 cURL 或 Python/requests 提交?
-
@Dylan 请提供有效的 Sprint 电话(可能还有电子邮件?),因为我被重定向到 sprint-locator.safely.com/signUpAccountSuspended.htm
-
我注意到,如果我使用有效的 Firefox 用户代理设置 User-Agent 标头,我会得到一个不同的页面,如果我不设置标头的话,如果这很有趣的话。跨度>
-
我正在检查电话号码是否有效。当您提交带有随机数的表单时,它会让您进入一个错误页面,指出它是无效的。我会发布一个有效的号码,但这毫无意义。电子邮件:admin@dr.com 电话:302-750-1213 - 目标是得到“无效号码”错误。
-
sprint-locator.safely.com/signUpAccountSuspended.htm 这是目标,但是对于请求,我会被发送到不同子域上的登录页面。
标签: python python-3.x post curl python-requests