Я использую код TCPClient с этого сайта, чтобы сделать базовое приложение для просмотра в C. Когда я GET/index.html
в качестве сообщения, он возвращает это:
HTTP/1.0 200 OK
Date: Tue, 31 Dec 2013 08:28:44 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=38fb52774c793250:FF=0:TM=1388478524:LM=1388478524:S=8ETV1rNvlBXFrGms; expires=Thu, 31-De
Как я могу отредактировать код, чтобы вернуть html-код на странице в дополнение к информации о сеансе HTTP выше?
Код использует буфер размером 256 байт, который часто слишком мал, чтобы хранить как заголовок HTTP, так и фактическую HTML-страницу. Вы должны либо использовать больший буфер, либо читать несколько раз из сокета.
Я думаю, что заменить последние несколько строк кода (после последней записи) на
do
{
bzero(buffer,256);
n = read(sockfd,buffer,255);
if (n < 0)
error("ERROR reading from socket");
printf("%s",buffer);
} while (n > 0);
printf("\n");
будет делать трюк.