如何在Python中使用requests发送“multipart/form-data”?

3
如何使用Python的requests库发送多部分内容?我尝试了一下如何用requests库提交表单,但是提交没有成功。

图片1

图片2

files={'check_type_diff': (None, '0'),
       'category': (None, '19'),
       'company_ad': (None, '0')}


#login
payload = { 'username':'xxxxx','passwd':'xxxx'}
s = requests.Session()
r = s.post('https://exemple.com/0',data=payload)
#login to my account


post ads
r = s.post('https://exemple.com/0', data=files )
print r.text

the last post don't work ????

可能是重复的问题,参考如何在Python中使用requests发送“multipart/form-data”? - alexpeits
1个回答

8
payload = { 'username':'xxxxx',
            'passwd':'xxxx'}
session = requests.Session()
req = session.post('https://exemple.com/0',data=payload)

payload ={'check_type_diff':'0',
          'category':'19',
          'company_ad':'0'}


req = session.post('https://exemple.com/0', data=payload )
print req.content

注意:如果您有文件内容,应使用post('URL',files=files)。多部分数据只是作为普通数据工作,只是格式和方法不同。
示例: 如果您有一个文件和一些多部分数据,则代码将如下所示:
files = {"file":(filename1,open(location+'/'+filename,"rb"),'application-type')}
payload ={'file-name':'Filename',
          'category':'19'}


req = session.post('https://exemple.com/0', data=payload, file=files)
print req.content

您甚至不需要将“文件”这行加入payloadrequests会将请求组合在一起。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接