我在使用python requests模块和Imgur API向Imgur上传图像时遇到了问题。
我的代码如下:
import base64
import json
import requests
from base64 import b64encode
client_id = 'my-client-id'
headers = {"Authorization": "Client-ID my-client-id"}
api_key = 'my-api-key'
url = "http://api.imgur.com/3/upload.json"
j1 = requests.post(
url,
headers = headers,
data = {
'key': api_key,
'image': b64encode(open('1.jpg', 'rb').read()),
'type': 'base64',
'name': '1.jpg',
'title': 'Picture no. 1'
}
)我通常会得到一个400响应错误。我不确定myu client_id是否错误,或者我的请求是否错误(我在url请求方面的经验很少),或者我是否使用Imgur API错误。
我也想得到的网址,一旦我提交了这张图片。我不确定API是否有这样的命令,或者python.requests模块是否有一个技巧可以让我获得我刚刚发布的数据(POST)。
这里回答了一个非常类似的问题,代码实际上起作用了!:Trouble sending a file to Imgur
但是,当我使用代码中使用的应用程序ID的client_id时,它返回了一个400错误,当我更改时也是如此
从: url = "http://api.imgur.com/2/upload.json“到: url = "http://api.imgur.com/3/upload.json”
发布于 2013-04-27 03:55:47
这是一个v3请求,但是您没有使用SSL,这是必须的。尝试设置
url = "https://api.imgur.com/3/upload.json"
# ^https://stackoverflow.com/questions/16244183
复制相似问题