Я пытаюсь создать простой 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}
Спасибо!