前言
很多功能为了调用的方便,我们都会打包成一个服务,通过请求来调用服务端的函数或者功能代码。
这里主要是给出常用flask框架的一个小例子
有两部分代码:
server 服务端
client 请求端
主要实现 python3用flask实现服务,get和post请求,传输json字符串,以及返回md5随机数等
具体看代码吧,也是模版,一看就知道怎么仿照来写来用了。
主要需要自己设计的地方是不一样的route对应于不同功能的模块,每个模块对应于不同的传入request data的格式,主要还是以json或者byte格式传输。
代码
server.py
import os
import sys
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)
from flask import Flask, request
import hashlib
import json
import time
def __make_random_id__():
src = 'filed_46546546464631361sdfsdfgsdgfsdgdsgfsd' + str(time.time())
m1 = hashlib.md5()
m1.update(src.encode())
return m1.hexdigest()
app = Flask(__name__)
# 装饰器的作用是将请求http://ip:端口/che的路由映射到函数def get()上去
@app.route('/che', methods=['GET'])
def get():
if request.method == 'GET':
print('get')
return "get request success"
@app.route('/woniu', methods=['POST'])
def post():
if request.method == 'POST':
print("post")
response_data = request.json.get('data')
nums = response_data['nums']
return_data = json.dumps({
'nums': str(nums - 1),
'id': __make_random_id__()
})
return return_data
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8000, threaded=True)
client.py
import requests
if __name__ == '__main__':
# get 请求
url = "http://localhost:8000/che"
r = requests.get(url)
print(r.text)
# post 请求
url = "http://localhost:8000/woniu"
data = {"nums": 1024}
r = requests.post(url, json={"data": data})
print(r.text)
结果
执行服务器代码,之后运行起来服务再执行客户端代码,模拟服务在running,client发请求
server 运行:
client 运行:
推荐阅读:
我的2022届互联网校招分享
我的2021总结
浅谈算法岗和开发岗的区别
互联网校招研发薪资汇总
2022届互联网求职现状,金9银10快变成铜9铁10!!
公众号:AI蜗牛车
保持谦逊、保持自律、保持进步
发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)
发送【1222】获取一份不错的leetcode刷题笔记
发送【AI四大名著】获取四本经典AI电子书