我正在尝试使用 Python requests 库发出 API POST 请求。我正在经过一个Authorization
header 但是当我尝试调试时,我可以看到 header 被删除。我不知道发生了什么事。
这是我的代码:
access_token = get_access_token()
bearer_token = base64.b64encode(bytes("'Bearer {}'".format(access_token)), 'utf-8')
headers = {'Content-Type': 'application/json', 'Authorization': bearer_token}
data = '{"FirstName" : "Jane", "LastName" : "Smith"}'
response = requests.post('https://myserver.com/endpoint', headers=headers, data=data)
正如你在上面看到的,我手动设置了Authorization
请求参数中包含 header,但缺少实际请求的 header:{'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.4.3 CPython/2.7.9 Linux/4.1.19-v7+'}
.
另外一条信息是,如果我将 POST 请求更改为 GET 请求,Authorization
header 正常通过!
为什么这个库会删除 POST 请求的标头以及如何让它工作?
使用请求库 v2.4.3 和 Python 2.7.9