Всем привет!
У меня следующая проблема..: получаю страницу, а в ней какие то левый байты появляются, мне сказали, что нужно нуль добавлять после recv, добавил..но не помогло.., в чем проблема, подскажите пожалуйста..вот код:
char *header = "GET / HTTP/1.1\r\nAccept-Language: ru\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.8 (build 01709))\r\nhost: yandex.ru\r\nConnection: Keep-Alive\r\n\r\n";
char h[50000];
int se, re, index = 0;
se = send(s, header, strlen(header), 0);
while(re = recv(s, &h[index], 1024, 0))
{
index += re;
h[index] =0;
}
11.02.07 10:47: Перенесено модератором из 'C/C++' — Odi$$ey
Здравствуйте, Ruweb, Вы писали:
R>Всем привет! R>У меня следующая проблема..: получаю страницу, а в ней какие то левый байты появляются, мне сказали, что нужно нуль добавлять после recv, добавил..но не помогло.., в чем проблема, подскажите пожалуйста..вот код:
По всей видмости, приходит ответ в chunked формате — "левые байты" — это длины последующих текстовых блоков. Можно их анализировать, а можно просто заменить GET / HTTP/1.1 на GET / HTTP/1.0
Здравствуйте, Ruweb, Вы писали:
R>Всем привет! R>У меня следующая проблема..: получаю страницу, а в ней какие то левый байты появляются, мне сказали, что нужно нуль добавлять после recv, добавил..но не помогло.., в чем проблема, подскажите пожалуйста..вот код: R>
R> char *header = "GET / HTTP/1.1\r\nAccept-Language: ru\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MRA 4.8 (build 01709))\r\nhost: yandex.ru\r\nConnection: Keep-Alive\r\n\r\n";
R> char h[50000];
R> int se, re, index = 0;
R> se = send(s, header, strlen(header), 0);
1. Код возврата не проверяется. Сделал бы что-то вроде
2. То же для ответа.
R> { R> index += re; R> h[index] =0; R> } R>[/c#]
3. Показал бы заголовок ответа. Телепатия говорит, что вероятно тебе ответили с chunked encoding, в этом случае перед очередным куском идёт его длина и CRLF. Но могут быть и другие чудеса.
netch80, телепатия твоя, тебя не подводит.
deadem, спасибо тебе, большое! то что нужно, на остальных форумах не понятно что советую, я и так книгами обложился, а они предлогали еще обложиться, не ну дело конечно полезное, но не всё сразу