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