【发布时间】:2018-03-12 23:27:32
【问题描述】:
我想使用 Python 的requests 模块来登录网页https://www.tennistv.com/login。使用 Chrome 的开发人员工具,我查看了点击登录按钮后发送的请求的外观。
使用 {"Email":"[MAIL]","Password":"[PASSWORD]"} 形式的 JSON 有效负载生成对 URL https://www.tennistv.com/api/users/v1/login 的 POST 请求。但是,我无法让它与 Python 的 requests 模块和 cURL 一起工作。 Chrome 的开发者工具可以选择生成带有请求的 cURL 命令。这就是我所做的,但即使是 cURL 请求也会产生以下错误:
{
"error": {
"validationErrors": [{
"key": "loginModel",
"value": [""]
}],
"errorMessage": "There was an error while validating input data (UR001)",
"errorCode": "UR001",
"userErrorCode": "UR001"
}
}
生成的 cURL 请求如下所示:
curl "https://www.tennistv.com/api/users/v1/login" -H "Pragma: no-cache" -H "Origin: https://www.tennistv.com" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" -H "content-type: application/json" -H "Accept: */*" -H "Cache-Control: no-cache" -H "Referer: https://www.tennistv.com/login" -H "Connection: keep-alive" --data-binary "^{^\^"Email^\^":^\^"[MAIL]^\^",^\^"Password^\^":^\^"[PASS]^\^"^}" --compressed
Chrome 的请求如下所示:
如何使 cURL 请求正常工作? Chrome和cURL发出的请求有什么区别?
【问题讨论】:
标签: google-chrome curl login