猿问

python请求带有标头和参数的POST

我有一个发布请求,我正在尝试使用requestspython发送。但是我收到无效的403错误。这些请求可以通过浏览器正常运行。


POST /ajax-load-system HTTP/1.1

Host: xyz.website.com

Accept: application/json, text/javascript, */*; q=0.01

Accept-Language: en-GB,en;q=0.5

User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Referer: http://xyz.website.com/help-me/ZYc5Yn

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

X-Requested-With: XMLHttpRequest

Content-Length: 56

Cookie: csrf_cookie_name=a3f8adecbf11e29c006d9817be96e8d4; ci_session=ba92hlh6o0ns7f20t4bsgjt0uqfdmdtl; _ga=GA1.2.1535910352.1530452604; _gid=GA1.2.1416631165.1530452604; _gat_gtag_UA_21820217_30=1

Connection: close


csrf_test_name=a3f8adecbf11e29c006d9817be96e8d4&vID=9999

我在python中尝试的是:


import requests

import json


url = 'http://xyz.website.com/ajax-load-system'


payload = {

'Host': 'xyz.website.com',

'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0',

'Accept': 'application/json, text/javascript, */*; q=0.01',

'Accept-Language': 'en-GB,en;q=0.5',

'Referer': 'http://xyz.website.com/help-me/ZYc5Yn',

'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',

'X-Requested-With': 'XMLHttpRequest',

'Content-Length': '56',

'Cookie': 'csrf_cookie_name=a3f8adecbf11e29c006d9817be96e8d4; ci_session=ba92hlh6o0ns7f20t4bsgjt0uqfdmdtl; _ga=GA1.2.1535910352.1530452604; _gid=GA1.2.1416631165.1530452604; _gat_gtag_UA_21820217_30=1',

'Connection': 'close',

'csrf_test_name': 'a3f8adecbf11e29c006d9817be96e8d4',

'vID': '9999',

}    


headers = {}


r = requests.post(url, headers=headers, data=json.dumps(payload))

print(r.status_code)  

但这正在打印403错误代码。我在这里做错了什么?


我期望返回响应为json:


{"status_message":"Thanks for help.","help_count":"141","status":true}


猛跑小猪
浏览 312回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答