python提交multipart/form-data请求(上传文件,提交数据) boundary requests没有这个功能解决方法

因为requests本身没有支持这个上传函数,所以在requests手册中写到了requests_toolbelt这个附加库,可以通过

pip install requests_toolbelt

 进行安装

本文只写如何进行multipart/form-data的请求

import requests
from requests_toolbelt import MultipartEncoder
HEADER = {
	'Host': 'qq.com', 
	'Accept': 'text/*', 
	'Pragma': 'no-cache', 
	'User-Agent': 'weixin/iPadAir2(Cellular)<iPad5,4>iOS12.0/0x1607042c', 
	'Accept-Language': 'zh-cn', 
	'Accept-Encoding': 'compress;q=0.5,gzip;q=1.0', 
	'Connection': 'keep-alive'
}
COOKIE = {
	 'uin':'o369848666'
}
m = MultipartEncoder(
 fields={
   'subject': 'abcd123',
   'content': '<p><span style="font-size:14px;">abcd</span></p>',
   'sendtype': '1',
   'oldmailid': '',
   'image': 'L2RhdGEvNzcyLzM2OTg0ODYyMi8yMDE5MDYzMF8xMjAwNDlfMjU0Mjk4MTg='
 })
HEADER['Content-Type'] = m.content_type
requests.post(URL,data = m,headers = HEADER ,cookies = COOKIE)

 其中,m.content_type输出的是库生成header里面的Content-Type.

'multipart/form-data;boundary=----------gL6G13ei4cH2Ef1cH2ae0CH2ei4gL6'

直接赋值到header即可.

如果需要上传图片文件,将图片文件进行base64转换,上传方法一样

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值