请求Python中的POST JSON数据
我想在Python中使用请求生成POST数据 这是数据,实际上,我从Burp套件截取HTTP请求请求Python中的POST JSON数据,python,python-requests,Python,Python Requests,我想在Python中使用请求生成POST数据 这是数据,实际上,我从Burp套件截取HTTP请求 sessionid=xxxsesi&serverid=1&partner=xxxpartner&tradeoffermessage=&json_tra deoffer={"newversion":true,"version":3,"me":{"assets": [{"appid":0,"contextid":"2","amount":1,"assetid":"xxxa
sessionid=xxxsesi&serverid=1&partner=xxxpartner&tradeoffermessage=&json_tra
deoffer={"newversion":true,"version":3,"me":{"assets":
[{"appid":0,"contextid":"2","amount":1,"assetid":"xxxasset"}],"currency":
[],"ready":false},"them":{"assets":[],"currency":
[],"ready":"false"}}&captcha=&trade_offer_create_params=
{"trade_offer_access_token":"xxxtoken"}
但如果我尝试在Python之后编写请求,它总是失败
data = {
"sessionid": "xxxsession",
"serverid": 1,
"partner":"xxxpartner",
"tradeoffermessage": "",
"json_tradeoffer": {"newversion":True,"version":3,"me":{"assets":[{"appid":440,"contextid":"2","amount":1,"assetid":"xxxasset"}],"currency":[],"ready":False},"them":{"assets":[],"currency":[],"ready":False}},
"captcha": "",
"trade_offer_create_params": {"trade_offer_access_token":"xxxtoken"}
}
有人能帮我吗?对不起,我的英语不好 与其他请求相比,Python中的post请求更加复杂
示例1:POST请求
示例2:POST请求
但在你的场景中
您使用burp套件获取python中的数据和发布数据我不知道您使用的是python的哪个特定版本,但您应该遵循python中发布请求的基本方法
下面是一个示例,它将一个接一个地解释您的每一步,并在您的场景中遵循该步骤的同时关注注释和TODO。有效负载中的JSON应该是表单编码的。您拦截的请求格式不正确。请求可能会为您执行此操作,但serer实际上期望的是错误的版本。您可能必须手动构造有效负载数据,并将其作为字符串传递。可能是重复的。我了解python中的post数据请求,如果数据只是一些字符串或整数。示例:data=a&data2=bdatapost={'data':'a','data2':'b'}但如果post数据是json,我不知道如何编写它。你能解释一下写,怎么写吗?就这么简单。requests.postrl,headers=headers,data=data有很多次你想要发送的数据不是表单编码的。如果您传入一个字符串而不是dict,则该数据将直接过帐。
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.post("http://httpbin.org/post", data=payload)
>>> print(r.text)
{
...
"form": {
"key2": "value2",
"key1": "value1"
},
...
}
>>> import requests
>>> r = requests.post('http://httpbin.org/post', json={"key": "value"})
>>> r.status_code
200
>>> r.json()
{'args': {},
'data': '{"key": "value"}',
'files': {},
'form': {},
'headers': {'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Connection': 'close',
'Content-Length': '16',
'Content-Type': 'application/json',
'Host': 'httpbin.org',
'User-Agent': 'python-requests/2.4.3 CPython/3.4.0',
'X-Request-Id': 'xx-xx-xx'},
'json': {'key': 'value'},
'origin': 'x.x.x.x',
'url': 'http://httpbin.org/post'}