Python 3.x - Web服务器 - 从POST请求中提取json正文

时间:2017-12-20 21:16:29

标签: json python-3.x http-post

我正在向服务器发送带有json正文的Post请求,但是当它到达时无法解压缩json文件。我做了详尽的搜索但无济于事。我提供了客户端和服务器脚本来说明正在发生的事情。

我只需要在收到的字符串末尾提取json部分,这样我就可以分析请求并返回相应的数据。

我确定它很简单,但我似乎无法找到答案。任何方向都将不胜感激

***

CLIENT:测试服务器

的脚本

导入json 导入请求

def info_send():

url = 'http:1234abcd.ngrok.io'

payload = {
    'command': '["command", "status", "off", None]',
    'userID': 'userID string',
    'status': 'current status',
}

requests.post(url, data=json.dumps(payload))

info_send()

***

SERVER:接收json POST请求

HOST, PORT = '', 5000

listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
listen_socket.bind((HOST, PORT))
listen_socket.listen(1)

print('Listening on port %s' % PORT)

while True:
client_connection, client_address = listen_socket.accept()
request = client_connection.recv(1024).decode('utf-8')
print(request)

***

这是在服务器上打印的内容

POST / HTTP / 1.1 主持人:1234abcd.ngrok.io User-Agent:python-requests / 2.18.4 Accept-Encoding:gzip,deflate 接受: / 内容长度:112 X-Forwarded-For:112.162.214.265

{&#34;命令&#34;:&#34; [\&#34;命令\&#34;,\&#34;状态\&#34;,\&#34; off \& #34;,无]&#34;,&#34;用户ID&#34;:&#34;用户ID字符串&#34;,&#34; deviceID&#34;:&#34;当前状态&#34;} < / p>

0 个答案:

没有答案