在接口測(cè)試學(xué)習(xí)過程中,遇到了利用requests庫進(jìn)行文件下載和上傳的問題。同樣,在真正的測(cè)試過程中,我們不可避免的會(huì)遇到上傳和下載的測(cè)試。
文件上傳:
url = ztx.host+'upload/uploadFile?CSRFToken='+self.getCSRFToken()#上傳文件的接口地址
header = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',
'Cookie':'JSESSIONID=535422F931158199018FE8D19620B9A1-n1.t2; SERVERID=cd7972e881cb9bd27adc12dbcf73adc1|'
'1566374032|1566373045; loginWay_cookie=%7B%22index%22%3A%220%22%7D'
}#上傳文件請(qǐng)求的頭信息
data = {
'md5_val':'ab91fd09413553e724311ec78217df55',
'id':'WU_FILE_0',
'name':'浙江省建設(shè)工程計(jì)價(jià)成果文件數(shù)據(jù)標(biāo)準(zhǔn).doc',
'type':'application/msword',
# 'lastModifiedDate':'Mon Mar 11 16:21:05 UTC+0800 2019',
}#上傳文件的請(qǐng)求參數(shù)
files = {
'file':('浙江省建設(shè)工程計(jì)價(jià)成果文件數(shù)據(jù)標(biāo)準(zhǔn).doc',#file是請(qǐng)求參數(shù),要與接口文檔中的參數(shù)名稱一致
open(r'C:\Users\Administrator\Desktop\浙江省建設(shè)工程計(jì)價(jià)成果文件數(shù)據(jù)標(biāo)準(zhǔn).doc','rb'),#已二進(jìn)制的形式打開文件
'application/msword')#上傳文件的MIME文件類型,這個(gè)必須要有
}#上傳的文件
r = ztx.session.post(url=url,headers=header,data=data,files=files,verify=False)
注意:切記header頭信息中不要添加Content-Type:xxxxxxx 這個(gè)字段,添加之后在發(fā)起請(qǐng)求的時(shí)候有可能找不到文件(希望大家避過這個(gè)坑)
下載文件:
下載文件相對(duì)稍微簡(jiǎn)單一點(diǎn),請(qǐng)求類型為get請(qǐng)求
url = 'https://jypt.zhaotx.cn/upload/download/82F2413B8C13473AAECA512AA05124EA'
r = ztx.session.get(url=url,stream=True,verify=False)#以流的形式進(jìn)行下載文件
if r.status_code ==200:#請(qǐng)求響應(yīng)結(jié)果如果為200,將下載內(nèi)容寫入指定文件中
with open(r'C:\Users\Administrator\Desktop\11.doc','wb') as f:
for chunk in r.iter_content(chunk_size=1024):#循環(huán)寫入,chunk_size是文件大小
f.write(chunk)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

