Flask基本用法:一个HelloWorld,搭建服务、发起请求
2023-12-13 11:06:26
?1、简介
Flask是一个轻量的web服务框架,我们可以利用它快速搭建一个服务,对外提供接口,其他人可以轻松调用我们的服务。这对算法工程师来说比较关键,我们通常不擅长搞开发,这种框架十分适合将算法封装成服务的形式提供给其他人使用。
更多介绍可从搜索引擎找到,这里不过多介绍。我们直接给出一个使用示例,相信大家看了后能快速掌握Flask的基本用法。
2、Flask使用示例
首先,编写一个server.py,作为服务:
from flask import Flask, request
app = Flask("Demo")
@app.route('/hello', methods=['POST', 'GET'])
def display():
return {"message": "HelloFlask!", "status": 0}
@app.route('/send_snapshot', methods=['POST'])
def process_snapshot():
# get post data
data = request.get_json()
print("got post data: {}".format(data))
# process
...
result = {
"status": 0,
"message": "send success!",
}
return result
if __name__ == '__main__':
app.run(port=2023, host='127.0.0.1', debug=True)
然后,编写一个client.py,作为客户端,调用上面的服务进行测试:
import requests
import json
def demo_hello():
url = "http://127.0.0.1:2023/hello"
response = requests.post(url)
if response.status_code == 200:
response_data = json.loads(response.content)
print("got response: {}".format(response_data))
else:
print("failed!")
def demo_send():
url = "http://127.0.0.1:2023/send_snapshot"
data = {
"start_timestamp": 1,
"end_timestamp": 2,
"img": None
}
response = requests.post(url, json=data)
if response.status_code == 200:
response_data = json.loads(response.content)
print("send over, got response: {}".format(response_data))
else:
print("send failed!")
if __name__ == '__main__':
demo_hello()
demo_send()
先启动server,再运行client,即可得到如下结果:
1. 运行server
python server.py
结果形如:
* Serving Flask app 'Demo'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:2023
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 887-814-515
2. 运行client.py
python client.py
结果形如:
got response: {'message': 'HelloFlask!', 'status': 0}
send over, got response: {'message': 'send success!', 'status': 0}
参考
官方文档:Welcome to Flask — Flask Documentation (3.0.x)
github:GitHub - pallets/flask: The Python micro framework for building web applications.?
文章来源:https://blog.csdn.net/oYeZhou/article/details/134945056
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!