flask 与 requests 的交互
2021/9/18 6:05:02
本文主要是介绍flask 与 requests 的交互,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
服务器程序
import flask app = flask.Flask(__name__) # 访问"http://127.0.0.1:5000/",可以返回get和post传过来的数据 @app.route('/') # 默认只接收get请求,@app.route('/',methods=["GET","POST"])或者只写"POST",同时接收两种请求 def index(): try: # flask.request.args 存有get的参数,flask.request.form 存有post的参数 # flask.request.values 既有get参数,也有post参数,通用。if 避免了数据不存在造成的出错 province = flask.request.values.get("province") if "province" in flask.request.values else "" city = flask.request.values.get("city") if "city" in flask.request.values else "" note = flask.request.values.get("note") if "note" in flask.request.values else "" return f"{province},{city}\n{note}" except Exception as err: return str(err) @app.route('/hi') # 访问"http://127.0.0.1:5000/hi"可以返回index.html文件的网页 def hi(): try: f = open("index.html", 'rb') data = f.read() f.close() return data except Exception as err: return str(err) # 访问"http://127.0.0.1:5000/image",返回图像的名字,如果带上fileName参数访问,返回图像数据或者空值(不存在时) @app.route('/image') def image(): if "fileName" not in flask.request.values: return "1.jpg" else: data = b"" try: fileName = flask.request.values.get("fileName") if fileName != "" and os.path.exists(fileName): f = open(fileName, "rb") data = f.read() f.close() except Exception as err: data = str(err).encode() return data # 上传文件 @app.route('/upload', methods=["POST"]) def uploadFile(): msg = "" try: if "fileName" in flask.request.values: # get参数有fileName fileName = flask.request.values.get("fileName") file = flask.request.files["file"] # 得到文件对象 file.save("upload"+file.filename) msg = "ok" else: msg ='没有按要求上传文件' except Exception as err: print(err) return str(msg) if __name__ == '__main__': app.run()
客户端程序
import requests province = "广东" city = "深圳" note = "大段文字......" url = f"http://127.0.0.1:5000/?province={province}&city={city}" #get传送数据 data = {"note": note} # post传送数据 resp = requests.post(url, data= data) print(resp.content.decode()) # url = "http://127.0.0.1:5000/image" #下载图片 # resp = requests.get(url) # fileName = resp.content.decode() # 得到图像的名字 # resp = requests.get(f"{url}?fileName={fileName}") # 图像名字作为数据 # with open("2.jpg", "wb") as f: # f.write(resp.content) # url = "http://127.0.0.1:5000/upload" # 上传文件 # uploadFileName = input("Enter the file:") # if os.path.exists(uploadFileName): # with open(uploadFileName, 'rb') as f: # dataB = f.read() # dataDict = {"file": (uploadFileName, dataB, "application/octet-stream")} # resp = requests.post(f"{url}?fileName={uploadFileName}", files=dataDict) # 文件上传是post # msg = resp.content.decode() # if msg == "ok": # print("成功上传:", len(dataB), "字节") # else: # print(msg) # else: # print("文件不存在!")
html文件
Welcomd Python Flask Web
it is very easy tomake a website by Python Flask中文
这篇关于flask 与 requests 的交互的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南