状态500使用Python中的请求

时间:2017-03-17 08:03:51

标签: python python-requests http-status-code-500

所以我正在努力将图像发送到网址。我计划使用Python来发出POST请求。 我的代码如下所示:

import requests

headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.90 Safari/537.36'}

response = requests.request('POST', url, headers=headers, files={'file':open('1-watermarked-page.PNG', 'rb')})
print (response.status_code)

当我运行此命令时,我的状态代码为500。 我试图替换"文件"参数"数据"它给了我一个413的错误:     导入请求

headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.90 Safari/537.36'}
response = requests.request('POST', url, headers=headers, data={'file':open('1-watermarked-page.PNG', 'rb')})
print (response.status_code)

任何人都可以告诉我我在哪里弄错了吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

问题是我们必须以JSON格式将数据发送到post请求,但我们将其作为字典发送,这使得请求成为错误的请求。因此,我所知道的最佳方法是将数据转换为JSON格式(这可能是因为在服务器端进行了解析)

import json
data = data={'file':open('1-watermarked-page.PNG', 'rb')}
response = request.post("url",json.dumps(data))
# json.dumps(data) converts data to json format

这对我有用,让我知道它是否适合你