Я хотел бы отправить GET-запрос на сервер, который транслируется почти в режиме реального времени, используя кодирование передачи чанка, которое я могу полностью построчно изменять.
Например:
SendChunks = SomeHTTPLibrary.SendData;
SendChunks(Example.org, "5\r\n")
SendChunks(Example.org, "Hello\r\n")
SendChunks(Example.org, "7\r\n")
SendChunks(Example.org, "Goodbye\r\n")
SendChunks(Example.org, "0\r\n")
Там, где я сейчас нахожусь, мне даже наплевать на ответ. Это не обязательно должно быть в C ++, мне комфортно с Python, Javascript, PHP или чем-то подобным.
Во-первых, вы не должны отправлять тело запроса вместе с запросом GET. Я думаю, что технически вы можете, но если сервер делает что-то с этим, то это не соответствует. Увидеть https://stackoverflow.com/a/983458/241294.
От вашего вопроса это выглядит так, как будто вы уже знаете, что вам нужно частичное кодирование передачи. Вот грубый пример того, как вы можете достичь этого в Python, но с POST
запрос вместо GET
запрос (код взломан с Вот):
import httplib
conn = httplib.HTTPConnection('Example.org')
conn.connect()
conn.putrequest('POST', '/post')
conn.putheader('Transfer-Encoding', 'chunked')
conn.endheaders()
conn.send("5\r\n")
conn.send("hello\r\n")
conn.send("7\r\n")
conn.send("Goodbye\r\n")
conn.send("0\r\n")
resp = conn.getresponse()
print(resp.status, resp.reason, resp.read())
conn.close()
Более хороший пример с функцией разбивки на Python см. Как заставить http.client отправлять HTTP-тело chunked-кодировки в python?.
Других решений пока нет …