举例一:上传图片接口
把对应的图片上传到对应的位置,以下接口牵扯的知识点:
1. 得到对应的接口地址,包括:/account/uploadUserPic(生成图片) 和 /account/uploadAvatar(上传图片)
2. 利用字典保存得到对应的文件路径:file
3. 利用字典保存对应的用户head值:head
4. 通过对应的请求上传图片
import requests def update_file(url): """ 上传图象接口 :return: """ # 生成图片接口地址 url = url + "/account/uploadUserPic" # 上传图片接口地址 save_url = url + "/account/uploadAvatar" # 文件的路径 file = { "img": ("timg.jpg", open("文件路径/timg.jpg","rb"),"image/jpg"), } # 用户的登录信息 head = { "Authorization": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNjQ2NTAiLCJhdXRoIjoie1xuICAgXCJpZFwiIDoxNjQ2NTAsXG4gICBcInVzZXJOYW1lXCIgOlwiMTUwOTYyNjQwNzRcIixcbiAgIFwidXNlclJvbGVcIiA6XCJCVVlFUlwiLFxuICAgXCJtb2JpbGVcIiA6XCIxNTA5NjI2NDA3NFwiLFxuICAgXCJhdXRob3JpdGllc1N0cmluZ1wiIDpcIlJPTEVfQ1JFQVRFX1NUT1JFLFJPTEVfV0VJWElOX1VTRVJfQ0VOVEVSLFJPTEVfVVNFUl9DRU5URVIsUk9MRV9XRUlYSU5fR09PRFNfQ0FSVCxST0xFX0dPT0RTX0NBUlQsUk9MRV9JTlRFR1JBTF9FWENIQU5HRSxST0xFX1BSRURFUE9TSVRfU0VUXCIsXG4gICBcInR5cGVcIiA6XCJiMVwiLFxuICAgXCJoYXZlT3BlbklkXCIgOnRydWUsXG4gICBcImhhdmVVbmlvbmlkXCIgOnRydWUsXG4gICBcImxldmVsXCIgOlwiMlwiLFxuICAgXCJjYW5Tb3J0aW5nR29vZHNcIiA6ZmFsc2Vcbn0iLCJleHAiOjE2MDA1ODA5OTN9.KereqDBm78tRUuXlcXZIjHIBsOiXBNsIQloJTvxCWcUhfxSgBOW6ceD3RdjmbKlJLSDBKCakpKjsf7A9UQkM_w", } # POST请求并获取到对应图片的id赋值给data res = requests.post(url, files=file, headers=head).json() data = {"id": res["id"]} # 给head添加访问类型,默认值可省略 # head["Content-Type"] = "application/x-www-form-urlencoded; charset=UTF-8" # POST进行保存图片 res = requests.post(save_url, data=data, headers=head) # 获取状态码,确定是否上传成功 if res.status_code == 200: print("上传图片成功") else: print("上传图片失败") if __name__ == "__main__": update_file("****")
举例二:下载文件
下载文件,即得到对应文件的对象,并把对应的对象写入到相应的位置中,如下:
import requests import os def download_file(url): res = requests.get(url) #返回一个对象,需要给对象写入我们的文件 with open("muke.apk", "wb") as f: f.write(res.content) fileurl = os.path.dirname(__file__) print("下载完成,在当前的目录中:{0}".format(fileurl)) if __name__ == "__main__": download_file("http://file.mukewang.com/apk/app/120/1597322853/imooc7.3.910102001android.apk?version=1597322858")
【6】基于Python-基础知识:Python上传文件/下载文件(2)
原文:https://www.cnblogs.com/Yulisa/p/13608156.html