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 / img2. 文件名如果非當(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=data4. 試著去讀一讀看看源碼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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 詳解瀏覽器的緩存機(jī)制2. 微信開(kāi)發(fā) 網(wǎng)頁(yè)授權(quán)獲取用戶基本信息3. asp批量添加修改刪除操作示例代碼4. jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器5. HTML5 Canvas繪制圖形從入門(mén)到精通6. css代碼優(yōu)化的12個(gè)技巧7. jsp EL表達(dá)式詳解8. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法9. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))10. .NET SkiaSharp 生成二維碼驗(yàn)證碼及指定區(qū)域截取方法實(shí)現(xiàn)
