У меня небольшая программа отправляет HTTP-запрос и получает ответ с протоколом TCP.
Мой формат запроса;
GET / HTTP/1.0
Host: somewebsite.com
{two new line}
Я читаю ответ строки за строкой из сокета (используя NetworkStream и StreamReader в С#), пока не найду заголовок длины содержимого. Я сохраняю длину, затем продолжаю читать, пока не найду пустую строку. Затем создайте буфер с длиной и получите оставшуюся часть ответа.
Но у некоторых reponses нет заголовка длины содержимого. Поэтому мой подход не подходит. Если я не знаю, сколько байтов я должен получить, когда я должен остановиться?