Python Request POST 上传文件 Multipart/form-data
項(xiàng)目場(chǎng)景:
我的第一個(gè)博客:使用python request模塊向服務(wù)器接口上傳圖片
問題描述
某app上傳圖片接口的包
原因分析:
問題的關(guān)鍵詞:請(qǐng)求頭 Content-Type:multipart/form-data
1、常用的情況下提交數(shù)據(jù),都是通過request.post以表單的形式向服務(wù)器提交數(shù)據(jù)的,但是根據(jù)抓包攜帶的請(qǐng)求頭信息這個(gè)格式不是鍵值對(duì)的形式
2、根據(jù)關(guān)鍵詞搜索了解到該請(qǐng)求格式為RFC1867協(xié)議,不是以表單方式提交
3、這里提一下,上傳文件常用的都是將需要上傳的文件以二進(jìn)制形式讀入內(nèi)存,有些時(shí)候根據(jù)不同的場(chǎng)景會(huì)將文件二進(jìn)制內(nèi)容進(jìn)行加密,再把內(nèi)容跟隨一些參數(shù)一起提交至服務(wù)器中,
解決方案:
1、關(guān)于RFC1867協(xié)議的概念介紹鏈接:RFC1867協(xié)議說明
2、關(guān)于app文件上傳接口請(qǐng)求體格式的介紹說明請(qǐng)參考這個(gè)鏈接:Multipart/form-data POST文件上傳詳解
3、繼續(xù)推薦:request文件上傳
4、關(guān)于使用request上傳文件我推薦兩種方式參考鏈接:兩種方式
5、補(bǔ)充:我是用第二種方式上傳成功的,對(duì)于第二種方式寫個(gè)注意事項(xiàng)
需要引用模塊:requests_toolbelt
安裝:pip install requests_toolbelt -i https://pypi.tuna.tsinghua.edu.cn/simple
注釋:需要注意上傳文件接口的參數(shù),name的值,filename,Content-Type,格式: file={ ‘name的值’: (“filename”, “文件對(duì)象”, ‘內(nèi)容類型’), … }
最后在分享一個(gè)web開發(fā)的技術(shù)網(wǎng)站,詳細(xì)的介紹了請(qǐng)求頭的各種參數(shù):web開發(fā)技術(shù)網(wǎng)站
手機(jī)app抓包工具推薦:小黃鳥(HTTPCanary)
總結(jié)
以上是生活随笔為你收集整理的Python Request POST 上传文件 Multipart/form-data的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity 3d 最新下载与安装
- 下一篇: 魏延是否有反骨