带标题的Python JSON Post
我正在尝试使用python请求库发送POST请求。我已经在这里查看了这些问题的答案,但是我仍然看不出为什么我的请求失败了,出现了400个错误 我的要求如下:带标题的Python JSON Post,python,json,Python,Json,我正在尝试使用python请求库发送POST请求。我已经在这里查看了这些问题的答案,但是我仍然看不出为什么我的请求失败了,出现了400个错误 我的要求如下: url = 'http:/srv01/bill_me' h = {'Content-type': 'application/json', 'Authorization': 'JWT eyJ0eX'} data = {"name": "Chris"} r = requests.post(url, data=json.dumps(data),
url = 'http:/srv01/bill_me'
h = {'Content-type': 'application/json', 'Authorization': 'JWT eyJ0eX'}
data = {"name": "Chris"}
r = requests.post(url, data=json.dumps(data), headers=h)
status = r.status_code
print(status)
r = requests.post(url, data=json.dumps(data), headers={'Authorization': 'JWT eyJ0eX'})
该请求在Postman中运行良好,但在我尝试通过python运行它时返回400错误。问题在于头,它需要作为字典传递。我将代码更改如下:
url = 'http:/srv01/bill_me'
h = {'Content-type': 'application/json', 'Authorization': 'JWT eyJ0eX'}
data = {"name": "Chris"}
r = requests.post(url, data=json.dumps(data), headers=h)
status = r.status_code
print(status)
r = requests.post(url, data=json.dumps(data), headers={'Authorization': 'JWT eyJ0eX'})
代码没有问题(尽管您可以使用
json=data
并删除Content-type
标题,让请求为您解决这个问题)。服务器是黑匣子,可能是用户代理头或其中一个接受头在这里起作用。