python3 requests庫文件上傳與下載

在接口測試學習過程當中,遇到了利用requests庫進行文件下載和上傳的問題。一樣,在真正的測試過程當中,咱們不可避免的會遇到上傳和下載的測試。cookie

文件上傳:session

     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'
        }#上傳文件請求的頭信息
        data = {
                'md5_val':'ab91fd09413553e724311ec78217df55',
                'id':'WU_FILE_0',
                'name':'浙江省建設工程計價成果文件數據標準.doc',
                'type':'application/msword',
                # 'lastModifiedDate':'Mon Mar 11 16:21:05 UTC+0800 2019',
        }#上傳文件的請求參數
        files = {
                'file':('浙江省建設工程計價成果文件數據標準.doc',#file是請求參數,要與接口文檔中的參數名稱一致
                        open(r'C:\Users\Administrator\Desktop\浙江省建設工程計價成果文件數據標準.doc','rb'),#已二進制的形式打開文件
                        'application/msword')#上傳文件的MIME文件類型,這個必需要有
        }#上傳的文件
        r = ztx.session.post(url=url,headers=header,data=data,files=files,verify=False)

注意:切記header頭信息中不要添加Content-Type:xxxxxxx  這個字段,添加以後在發起請求的時候有可能找不到文件(但願你們避過這個坑)app

下載文件:ide

下載文件相對稍微簡單一點,請求類型爲get請求post

url = 'https://jypt.zhaotx.cn/upload/download/82F2413B8C13473AAECA512AA05124EA'
        r = ztx.session.get(url=url,stream=True,verify=False)#以流的形式進行下載文件
        if r.status_code ==200:#請求響應結果若是爲200,將下載內容寫入指定文件中
            with open(r'C:\Users\Administrator\Desktop\11.doc','wb') as f:
                for chunk in r.iter_content(chunk_size=1024):#循環寫入,chunk_size是文件大小
                    f.write(chunk)
相關文章
相關標籤/搜索