Porxy Server
本作业的基本要求可参考: https://blog.csdn.net/young_cr7/article/details/104703586
-
原理介绍
(1) POST请求一般用于向服务器发送数据,而代理服务器可将客户端发送的数据缓存。若存在历史数据则进行比对,两者一致则无需向服务器发送该数据(此处假设由客户端发送POST请求,经代理服务器到达服务器,是服务器获取数据的唯一方式)。两者不一致或不存在历史数据时,则由代理服务器通过POST请求方式向服务器发送数据,同时将该数据缓存。当发送数据成功时,则向客户端发送响应报文"OK"
(2) 接受POST请求的服务器可利用Python的flask进行编写
from flask import Flask, request app = Flask(__name__) @app.route('/simulator/gridConnect/', methods=['GET', 'POST']) def set_grid_connect(): recv_data = request.get_json() print(request) if recv_data: grid_connect = recv_data['grid_connected'] return "OK"
(3) 可借助Postman软件向代理服务器发送POST请求
-
Source code
from socket import *
import traceback
tcpSerSock = socket(AF_INET, SOCK_STREAM)
server_port = 22500
tcpSerSock.bind(('', server_port))
tcpSerSock.listen(1)
while True:
print('Ready to serve...')
tcpCliSock, addr = tcpSerSock.accept()
print