如何在python中发送带有请求的“multipart / form-data”?

时间:2017-03-27 09:35:35

标签: python post request

如何在python中发送带有请求的多部分?如何发送我的表单请求我尝试但帖子不能正常工作。

Image 1

Image 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 ????

1 个答案:

答案 0 :(得分:1)

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会将请求放在一起。