使用POST类型的python请求在本地运行时效果很好,在heroku上运行时返回Bad Request

时间:2019-01-21 18:09:30

标签: python post heroku request python-requests

我正在尝试在我的heroku服务器上运行以下代码。如果我打印出响应,则响应始终返回“错误的请求”。在我的计算机上本地运行时,代码可以正常工作

print(response)在我的本地计算机上打印出200,但在heroku日志中打印出400

print(tracking_id)
url = 'https://example.com'
headers = {
    'Authorization': 'Token token="XXXX"',
    'Content-type': 'application/json',
}
data = '{"container": {"number": "' + tracking_id + '"}}'
print(data)
response = requests.post(url, data=data, headers=headers, allow_redirects=True)
print(response)
print(response.request)

return {
    'Status': response.status_code,
}

1 个答案:

答案 0 :(得分:0)

尝试一下,最好同时使用session

import requests
import json

url = 'https://example.com'
headers = dict()
headers['authorization'] = 'Token token="XXXX"'
headers['content-type'] = 'application/json'
data = json.dumps({"container": {"number": 'tracking_id'}})

session = requests.session()
resp = session.post(url, data=data, headers=headers)
print(resp.status_code)