Pyhon : 爬虫Requests基础--POST一个多部分编码(Multipart-Encoded)的文件

本文介绍如何使用Python的Requests库上传各种类型的文件,包括本地文件、指定文件名和类型的文件,以及字符串形式的数据。同时,文章提及了对于大文件上传,可以使用第三方库requests-toolbelt进行数据流式的上传。

POST一个多部分编码(Multipart-Encoded)的文件
Requests 使得上传多部分编码文件变得很简单:

url = ‘http://httpbin.org/post
files = {‘file’: open(‘report.xls’, ‘rb’)}

r = requests.post(url, files=files)
r.text
{

“files”: {
“file”: “<censored…binary…data>”
},

}
你可以显式地设置文件名,文件类型和请求头:
url = ‘http://httpbin.org/post
files = {‘file’: (‘report.xls’, open(‘report.xls’, ‘rb’), ‘application/vnd.ms-excel’, {‘Expires’: ‘0’})}
r = requests.post(url, files=files)
r.text
{

“files”: {
“file”: “<censored…binary…data>”
},

}
如果你想,你也可以发送作为文件来接收的字符串:
url = ‘http://httpbin.org/post
files = {‘file’: (‘report.csv’, ‘some,data,to,send\nanother,row,to,send\n’)}
r = requests.post(url, files=files)
r.text
{

“files”: {
“file”: “some,data,to,send\nanother,row,to,send\n”
},

}
如果你发送一个非常大的文件作为 multipart/form-data 请求,你可能希望将请求做成数据流。默认下 requests 不支持, 但有个第三方包 requests-toolbelt 是支持的。你可以阅读 toolbelt 文档 来了解使用方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值