搜索

首页  >  问答  >  正文

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.

怪我咯怪我咯2781 天前782

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-04-18 10:22:14

    雷雷

    参考
    http://www.python-requests.or...

    http://www.python-requests.or...

    回复
    0
  • PHPz

    PHPz2017-04-18 10:22:14

    雷雷

    回复
    0
  • 取消回复