简单使用python的Flask框架搭建一个http服务器
Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。现在我想用它来做一个web通信服务框架,不多说上代码。
服务端server.py:
直接在python3的环境下运行 sudo python3 server.py
#!/usr/bin/python3
#coding=utf-8
from flask import Flask, request, jsonify
from flask import Flask
import json
app = Flask(__name__)
app.debug = True
@app.route('/http/query/', methods=['post'])
def post_http():
if not request.data: # 检测是否有数据
return ('fail')
params = request.data.decode('utf-8')
# 获取到POST过来的数据,因为我这里传过来的数据需要转换一下编码。根据晶具体情况而定
prams = json.loads(params)
print(prams)
# 把区获取到的数据转为JSON格式。
return jsonify(prams)
# 返回JSON数据。
if __name__ == '__main__':
app.run(host='127.0.0.1', port=5000)
# 这里指定了地址和端口号。也可以不指定地址填0.0.0.0那么就会使用本机地址ip
客户端post.py:
新启一个终端运行 sudo python3 post.py
#!/usr/bin/env python2
# -*- coding: utf-8 -*-#请求http/query/接口
"""
Created on Fri Jun 12 18:55:07 2020
@author: ansonwan
"""
import requests, json
import datetime
import time
data = {
"datatime": "2020-07-02"
}
# 这里地址要和上面的服务端地址及端口好一致
url = 'http://127.0.0.1:5000/http/query/'
# r = requests.post(url, data=json.dumps(data))
# print(r.json())
while True:
now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')# 打印当前时间
data["datatime"] = now_time
# print(now_time)
# r = requests.post(url, now_time)
r = requests.post(url, data=json.dumps(data)) # 发送到服务端
time.sleep(1)