百度百科:Flask是一个轻量级的web框架,它简单容易上手。Flask基本模式为在程序里将一个视图函数分配给一个URL,每当用户访问这个URL时,系统就会执行该URL分配好的视图函数,获取函数的返回值并将其显示到浏览器上,其工作过程见下图:
1.一个简单的例子-利用网页请求
from flask import Flask
# 创建一个Flask实例
app = Flask(__name__)
@app.route('/') #路由系统生成视图对应url, 1. decorator=app.route() 2. decorator(first_flask)
def first_flask(): # 视图函数
return '来啦老弟'
if __name__ == '__main__':
app.run() # 启动socket
运行上面程序,同时在浏览器中输入127.0.0.1:5000
结果如下:
2.第二个例子-利用request请求
服务端代码:
import json
from flask import Flask,request
# 构建客户端request请求时返回给它的数据
# python类型
data = {'name':'xiaoming','age':'20','city':'beijing'}
# 编码为json类型
json_data = json.dumps(data)
#print('data类型:',type(data)) # data类型: <class 'dict'>
#print('json_data类型',type(json_data)) #json_data类型 <class 'str'>
app = Flask(__name__) # 创建一个Flask实例
@app.route('/get') #路由器生成视图对应url
def senddata(): # 视图函数
# 获取url中传递的参数时,使用request.args.get()或request.args[]
# 获取客户端传过来的status参数值
status = request.args['status']
# 获取客户端传过来的data参数值
receive_data = request.args.get('data')
print('receive:',receive_data) # receive: hello my friend
print('status的类型为',type(status)) #status的类型为 <class 'str'>
if(status == 'ok'): #为ok时才返回给客户端data数据
return(json_data)
if __name__ == '__main__':
app.run(host='127.0.0.1',port=8080,debug=False) #debug=False表示关闭调试模式
客户端代码:
import requests
payload = {'status':'ok','data':'hello my friend'}
r = requests.get(url='http://127.0.0.1:8080/get',params=payload) # 返回的json数据
# 获取json数据
#print('r.json类型',type(r.json())) # r.json类型 <class 'dict'>
print(r.json()) # {'name': 'xiaoming', 'age': '20', 'city': 'beijing'}
print(r.json()['name']) # xiaoming
# 获取content内容
#print('r.content的类型',type(r.content)) # r.content的类型 <class 'bytes'>
print(r.content) # b'{"name": "xiaoming", "age": "20", "city": "beijing"}'
#print(r.content[1:10]) # b'"name": "'
先运行服务端代码,再运行客户端代码,客户端结果如下:
参考链接: