0
 $ curl -F myfile=@myfilename -F 'data={"title":"some title","otherinfo" : "aabcdef"}' https://someurl

以上是从终端做的工作和正确的方法。

我尝试以这种方式使用请求在python中实现这一点:

files = {'myfile': open('myfilename', 'rb')}
data = {}

data['data'] = {
    'title' : 'some title',
    'otherinfo' : 'other info'
}

r = requests.post(url, files=files, data=data, auth=auth)

在这里,数据没有正确到达目的地,我哪里错了?

4

1 回答 1

0

当您使用-F参数 curl 发送数据时Content-Typeset tomultipart/form-data而当您使用data参数 Requests 时使用Content-Typeset to application/x-www-form-urlencoded。您应该指示 Requests 以正确的方式发送数据Content-Type。请参阅如何在 python 中发送带有请求的“multipart/form-data”?这该怎么做。

于 2012-11-09T22:29:12.463 回答