国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python requests完成接口文件上傳的案例

瀏覽:89日期:2022-06-25 11:15:32

最近在準備一個公開課,主題就是利用不同的語言和不同的工具去實現文件的上傳和下載。

在利用Jmeter去實現功能的時候,以及利用loadrunner去寫腳本的時候,都很順利,沒有任何問題,當我嘗試用Python去解決這個問題的時候,花了一些時間。

這也讓我在學習和嘗試中,找到了很多樂趣,下面給大家分享下,如何去實現操作。

前提:

1:有一個上傳接口,地址如下:http://xx.xx.xx.xx//upload/stream(公司的服務,地址不便外發(fā)~有興趣的同志可以來看我們的公開課?。?/p>

2:上傳接口的參數如下所示:

{'parentId':'','fileCategory':'personal','fileSize':179,'fileName':'summer_text_0920.txt','uoType':1}

其中有兩個參數需要跟大家解釋一下:filesize:指的是文件的字節(jié)大小。 filename:指的是你上傳之后保存的文件名~記得不要搞錯了后綴喲。其他的參數可以忽略,在做自己公司接口的時候,就按照自己公司的接口文檔去做即可。

開始操作:

1:安裝requests模塊,安裝命令:pip install requests

2:發(fā)送請求,代碼如下所示:

header={'ct':'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9'}files = {’file’:open(’D:test_datasummer_test_data_05.txt’,’rb’)}#此處是重點!我們操作文件上傳的時候,把目標文件以open打開,然后存儲到變量file里面存到一個字典里面upload_data={'parentId':'','fileCategory':'personal','fileSize':179,'fileName':'summer_text_0920.txt','uoType':1}upload_res=requests.post(upload_url,upload_data,files=files,headers=header)##此處是重點!我們操作文件上傳的時候,接口請求參數直接存到upload_data變量里面,在請求的時候,直接作為數據傳遞過去查看結果:

執(zhí)行完代碼后,看到我們上傳成功,效果如下:

python requests完成接口文件上傳的案例

大家如果有上傳文件的接口,趕緊去試試吧!

學習了代碼后,有些事情就會顯得輕松多啦!

補充:python實現接口上傳文件的兩種方法

文件上傳:上傳圖片的類型是file,這里沒有用到頭部信息

import requestsdef sendImg(img_path, img_name, img_type=’image/jpeg’): ''' :param img_path:圖片的路徑 :param img_name:圖片的名稱 :param img_type:圖片的類型,這里寫的是image/jpeg,也可以是png/jpg ''' url = ’https://www.xxxxxxxxxx.com’ # 自己想要請求的接口地址 with open(img_path + img_name, 'rb')as f_abs:# 以2進制方式打開圖片 body = { # 有些上傳圖片時可能會有其他字段,比如圖片的時間什么的,這個根據自己的需要 ’camera_code’: (None, '攝像頭1'), ’image_face’: (img_name, f_abs, img_type) # 圖片的名稱、圖片的絕對路徑、圖片的類型(就是后綴) 'time':(None, '2019-01-01 10:00:00') } # 上傳圖片的時候,不使用data和json,用files response = requests.post(url=url, files=body).json return response if __name__==’__main__’: # 上傳圖片 res = sendImg(img_path, img_name) # 調用sendImg方法 print(res) **如果上傳圖片是數組時,value直接寫圖片路徑就可以**文件上傳:上傳的類型是file,用到頭部信息

# 'Content-Type': 'multipart/form-data; boundary=76a22e30da2bb7790828887966871012'from urllib3 import encode_multipart_formdataimport requestsdef sendFile(filename, file_path): ''' :param filename:文件的名稱 :param file_path:文件的絕對路徑 ''' url = 'https://www.xxxxxxx.com' # 請求的接口地址 with open(file_path, mode='r', encoding='utf8')as f: # 打開文件 file = { 'file': (filename, f.read()),# 引號的file是接口的字段,后面的是文件的名稱、文件的內容 'key': 'value', # 如果接口中有其他字段也可以加上 } encode_data = encode_multipart_formdata(file) file_data = encode_data[0] # b’--c0c46a5929c2ce4c935c9cff85bf11d4rnContent-Disposition: form-data; name='file'; filename='1.txt'rnContent-Type: text/plainrnrn...........--c0c46a5929c2ce4c935c9cff85bf11d4--rn headers_from_data = { 'Content-Type': encode_data[1], 'Authorization': token } # token是登陸后給的值,如果你的接口中頭部不需要上傳字段,就不用寫,只要前面的就可以 # ’Content-Type’: ’multipart/form-data; boundary=c0c46a5929c2ce4c935c9cff85bf11d4’,這里上傳文件用的是form-data,不能用json response = requests.post(url=url, headers=headers_from_data, data=file_data).json() return response if __name__==’__main__’: # 上傳文件 res = sendFile(filename, file_path) # 調用sendFile方法 print(res)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 天堂va欧美ⅴa亚洲va一国产 | 久草黄视频 | 欧美国产精品亚洲精品第一区 | 亚洲男女网站 | 美女三级网站 | 91精品国产欧美一区二区 | 精品国产96亚洲一区二区三区 | chinese情侣真实自拍 | 91久久精一区二区三区大全 | 国产伦精品一区二区三区四区 | 一级黄色录相片 | 久久免费视频网站 | 精品国产成人 | 国产三级全黄 | 亚洲一成人毛片 | 午夜日韩 | 久久国产成人精品 | 自拍 欧美 在线 综合 另类 | 亚洲欧美在线观看视频 | 日韩中文字幕在线视频 | 国产高清在线视频 | 成人18免费网 | 91久久精品国产91久久性色也 | 草草视频在线观看 | 怡红院免费va男人的天堂 | 国产三级做爰在线观看∵ | 欧美一级特黄视频 | 最新更新国内自拍视频 | 欧美人成a视频www | 欧美满嘴射 | 国产成人亚洲精品一区二区在线看 | 91久久精品国产亚洲 | 免费真实播放国产乱子伦 | 日本精品一区二区三区视频 | 日本aaaa片毛片免费观看 | 国产一级做a爰片久久毛片99 | 色婷婷国产精品欧美毛片 | 欧美一级xxxx俄罗斯一级 | 国产一级精品视频 | 男女免费爽爽爽在线视频 | 中文字幕 亚洲精品 第1页 |