序文
多くの関数は呼び出しの便宜のためにサービスにパッケージ化されており、サーバーの関数または関数コードはリクエストを通じて呼び出されます。
ここでは主に、一般的に使用される flask フレームワークの小さな例を示します。
コードには 2 つの部分があります。
サーバーサーバー
クライアントリクエスト終了
主に python3 を実装して、flask を使用してサービスの実装、リクエストの取得と投稿、json 文字列の送信、md5 乱数の返しなどを行います。
コードを具体的に見てみましょう。これはテンプレートでもあり、コピーして使用する方法が一目でわかります。
自分で設計する必要がある主な点は、異なるルートが異なる機能を持つモジュールに対応し、各モジュールが主に json またはバイト形式で送信される受信リクエスト データの異なる形式に対応することです。
コード
サーバー.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)
結果
サーバー コードを実行し、次にサービスを実行し、次にクライアント コードを実行して、サービスの実行をシミュレートし、クライアントがリクエストを送信します。
サーバーは以下を実行します。
クライアントは以下を実行します:
推荐阅读:
我的2022届互联网校招分享
我的2021总结
浅谈算法岗和开发岗的区别
互联网校招研发薪资汇总
2022届互联网求职现状,金9银10快变成铜9铁10!!
公众号:AI蜗牛车
保持谦逊、保持自律、保持进步
发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)
发送【1222】获取一份不错的leetcode刷题笔记
发送【AI四大名著】获取四本经典AI电子书