python實(shí)現(xiàn)文件+參數(shù)發(fā)送request的實(shí)例代碼
需求:
該接口,含兩個(gè)參數(shù),一個(gè)是file,一個(gè)是paperName。其中file為上傳的文件。content-type為form-data。
根據(jù)python中的request源代碼,可知,發(fā)送一個(gè)request,可以傳遞的參數(shù)有很多。而我們這次主要用到的就是files,當(dāng)然method、url、headers、及data/json也是每次發(fā)送request必備的。
主要的實(shí)現(xiàn)方式:
# 用二進(jìn)制的方式打開(kāi)需上傳的文件。 f = open(filename, "rb") file = [ ("file", (filename, f, "file/xlsx")) # 此處"file"為上傳的參數(shù)名;filename可以為當(dāng)前目錄下的文件(僅文件名即可),也可以是其他目錄下的文件(用相對(duì)路徑) ]
實(shí)現(xiàn)代碼:
f = open(filename, "rb") file = [ ("file", (filename, f, "file/xlsx")) ] filename = '../data/required_upload.xlsx' # 此處寫(xiě)的是放在data目錄下的文件。如果是當(dāng)前目錄下的,直接'required_upload.xlsx'即可 response = request(method=method, url=url, headers=headers, files=file, data=data) f.close()
總結(jié)tips:
1. 以二進(jìn)制的方式打開(kāi)文件,文件可以是file / img
2. 文件名如果非當(dāng)前目錄,則應(yīng)使用相對(duì)路徑
3. 發(fā)送請(qǐng)求結(jié)束后,應(yīng)立刻關(guān)閉文件
6. content-type為form-data,request語(yǔ)句中應(yīng)注意是data=data,若content-type為application/json等,則是json=data
4. 試著去讀一讀看看源碼
5. 如果多次需要上傳文件,不妨把#主要實(shí)現(xiàn)方式#里的代碼封裝起來(lái),方便以后調(diào)用
到此這篇關(guān)于python實(shí)現(xiàn)文件+參數(shù)發(fā)送request的文章就介紹到這了,更多相關(guān)python發(fā)送request內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python后端接收前端回傳的文件方法
- python實(shí)現(xiàn)定時(shí)壓縮指定文件夾發(fā)送郵件
- Python實(shí)現(xiàn)監(jiān)控Nginx配置文件的不同并發(fā)送郵件報(bào)警功能示例
- python 通過(guò) socket 發(fā)送文件的實(shí)例代碼
- python實(shí)現(xiàn)requests發(fā)送/上傳多個(gè)文件的示例
- python調(diào)用Moxa PCOMM Lite通過(guò)串口Ymodem協(xié)議實(shí)現(xiàn)發(fā)送文件
- python實(shí)現(xiàn)TCP文件接收發(fā)送
相關(guān)文章
python實(shí)現(xiàn)爬取圖書(shū)封面
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)爬取圖書(shū)封面的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07新建文件時(shí)Pycharm中自動(dòng)設(shè)置頭部模板信息的方法
這篇文章主要介紹了新建文件時(shí)Pycharm中自動(dòng)設(shè)置頭部模板信息的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04python與mysql數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn)
這篇文章主要介紹了python與mysql數(shù)據(jù)庫(kù)交互的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01詳解Python的Twisted框架中reactor事件管理器的用法
這篇文章主要介紹了詳解Python的Twisted框架中reactor事件管理器的用法,Twisted是一款高人氣的異步Python開(kāi)發(fā)框架,需要的朋友可以參考下2016-05-05Python3+pycuda實(shí)現(xiàn)執(zhí)行簡(jiǎn)單GPU計(jì)算任務(wù)
GPU的加速技術(shù)在深度學(xué)習(xí)、量子計(jì)算領(lǐng)域都已經(jīng)被廣泛的應(yīng)用。這篇文章就來(lái)和大家聊聊Python3如何利用pycuda執(zhí)行簡(jiǎn)單GPU計(jì)算任務(wù)?,感興趣的可以了解一下2023-03-03