python - 解析 POST 标头/消息响应的简单 python 服务器
问题描述
我正在尝试创建一个简单的 python 服务器,它可以解析从智能集线器发送的 POST 响应。它以 HTTP POST(带有适当的标头)的形式发送数据,以 JSON 的形式发送正文。我正在寻找一种方法来剥离标头并解析 json 正文,但如果不求助于手动解析,我似乎无法找到任何合适的东西。
这就是我现在所拥有的。理想情况下,我正在寻找一个处理标题/正文本身分离的库。
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
data=conn.recv(1024)
if not data:
break
ddata = data.decode('utf-8')
print("Decoded data: %s\n\n\n" % ddata)
#This doesn't work because it's trying to decode both the header and body, and the header isn't JSON
#parsed_data = json.loads(ddata)
#print("Parsed data: %s\n\n\" % parsed_data)
这是我得到的数据:
POST / HTTP/1.1
Accept: */* User-Agent: Linux UPnP/1.0 Device HOST:
192.168.0.115:8080 Content-Type: application/json Content-Length: 17
{"@test_value":8}
谢谢!
解决方案
推荐阅读
- android - 具有重复图像的 RecyclerView 项目
- css - 如何在字体真棒图标上放置文本?
- python - 如何将包含许多记录的文件拆分为较小的记录组
- python - 如何将编辑后的 QGraphicsScene 保存为图像文件
- google-assistant-sdk - Unity 有 Google Assistant 插件吗?
- flutter - 我想在flutter中从playstore获取应用程序的版本号
- angular - Angular 反应式表单,ControlValueAccessor 与 PropertyBinding
- service-worker - 服务工作者的获取似乎没有被触发
- java - Apache HTTP 客户端 - Apache Http 客户端中 0 个租用连接的问题
- sml - 标准 ML:如何计算 x 的 i 次方?