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