我正在尝试让我的图像在线托管,因为我正在使用python
import requests
url = 'http://imgup.net/'
data = {'image[image][]':'http://www.webhost-resources.com/wp-content/uploads/2015/01/dedicated-hosting-server.jpg'}
r = requests.post(url, files=data)
我无法从响应中获取托管图像的响应URL。 请帮忙!
答案 0 :(得分:1)
files
的{{1}}参数需要a:用于多部分编码上传的
requests.post
(或'name': file-like-objects
)词典。
您需要发送的数据不仅仅是文件,最重要的是"真实性令牌"。如果您查看页面的源代码,它会将所有其他参数显示为{'name': ('filename', fileobj)}
标记。
上传网址为http://imgup.net/upload,您可以在<input type="hidden">
的{{1}}属性中看到。
所以你需要做的是:
下载您要上传的图片(我称之为action
)。
执行主页的GET请求,提取<form>
。
完成后,请使用dhs.jpg
和authenticity_token
发送请求:
files=
最后注意事项:虽然我在T&amp; C中找不到任何反对此行为的规则,但真实性令牌的存在使得imgup似乎并不真的希望你做这会自动。