curl - Python request 上传文件
问题描述
我尝试用 curl 提交成功
curl --form file=@/home/test/sample.png --form username=test@noreply.com --form password=test --insecure --form lang[0]=cn --form lang[1]=jp --form langs[2]=en https://www.example.com/api
但我用 requests 尝试了以下方法,却得不到正确结果。请问正确的应该怎么写?
data = { ’file’: open(’/home/test/test.png’,’rb’), ’username’: ’test@noreply.com’, ’password’: ’test’, ’lang[0]’: ’cn’, ’lang[1]’: ’jp’, ’lang[2]’: ’en’}r = requests.post(’https://www.example.com/api’, data=data, verify=False)
file = { ’file’: open(’/home/test/test.png’,’rb’) }data = { ’username’: ’test@noreply.com’, ’password’: ’test’, ’lang[0]’: ’cn’, ’lang[1]’: ’jp’, ’lang[2]’: ’en’}r = requests.post(’https://www.example.com/api’, data=data, files=file, verify=False)
另外我用 httpbin 测试,curl代码 和 第二段代码发出的请求是一样的,但是 Python 得不到返回的 ID.
问题解答
回答1:files = {’file’: open(’test.png’, ’rb’)}requests.post(url, files=files)
参考 http://www.python-requests.or...
http://www.python-requests.or...
回答2:with open(’filename1’, ’rb’) as f1, open(’filename2’, ’rb’) as f2: files_to_upload = {’filename1’: f1,’filename2’: f2, }response = requests.post(url, files=files_to_upload)
相关文章:
1. javascript - 怎么实现让 div 里面的 img 元素 中心居中, 如下示例图2. html5 - 使用angular中,图片上传功能中选择多张图片是怎么实现的?有什么好的思路吗?3. 微信开放平台 - ios APP能不能打开微信然后通过微信跳转到指定的URL?4. javascript - vue引入样式的问题5. javascript - 移动端一个小效果6. javascript - vue+iview upload传参失败 跨域问题后台已经解决 仍然报403,这是怎么回事啊?7. Mac环境下QT编译MySQL驱动屡次失败?如何?8. php - 微信开发验证服务器有效性9. javascript - 如何做出pc网站随鼠标滚动动态出现效果10. javascript - nodejs调用qiniu的第三方资源抓取,返回401 bad token,为什么
