python > 请求模块 > post > headers 不工作

python > requests module > post > headers not working

为什么我会收到这样的回复?我试着问 Discord 上的人,但没人能解释。

>>>import requests
>>>api_url = "my_url"
>>>headers = {"Content-type": "application/json"}
>>>res = requests.post(api_url, "text to post", headers=headers)
>>>res.json()
{'message': '400: Bad Request', 'code': 0}

试试这个:

import requests
import json

api_url = "my_url"
body = {'xxx': 'text to post'}
headers = {"Content-type": "application/json"}
res = requests.post(api_url, data=json.dumps(body), headers=headers)
res.json()

自从您从服务器收到此响应:

{'message': '400: Bad Request', 'code': 0}

这表明您实际上已经访问了服务器端点,因此您可能只是没有包含服务器期望请求的所有数据。

请注意,文档指定 'data' 应该是“(可选)要在请求正文中发送的字典、元组列表、字节或类似文件的对象”,因此最佳实践可能是预先对您的文本进行编码,例如:

my_text = "some json encoded text"
requests.post(api_url, my_text.encode("ascii"), headers = headers)

仔细检查您发送的数据(尤其是拼写)是否符合服务器请求的要求。