//== установить соединение с сервером
printer("To connect server.", 1);
if (connect(s, (PSOCKADDR)&sin, sizeof(SOCKADDR)))
{
closesocket(s);
WSACleanup();
return 0;
}
a = recv(s, sz1, sizeof(sz1), NULL);
if (a == SOCKET_ERROR)
{
closesocket(s);
WSACleanup();
printer("Socket error.", 1);
return 0;
}
sz1[a] = 0;
printer(sz1);
}
проблема в том чтоя не могу получить данные из сокета.
Здравствуйте Maslovsky, Вы писали:
M>Здравствуйте Фока, Вы писали:
Ф>>Пишу клиента НТТР вот краткий код
M>HTTP протокл то изучил прежде чем клиента писать?
Ф>>проблема в том чтоя не могу получить данные из сокета.
M>Дык что получать то собрался? Ружно сначала спросить, что тебе нужно, тогда и получишь ответ. Например:
M>
Здравствуйте Фока, Вы писали:
Ф>Здравствуйте Maslovsky, Вы писали:
M>>Здравствуйте Фока, Вы писали:
Ф>>>Пишу клиента НТТР вот краткий код
M>>HTTP протокл то изучил прежде чем клиента писать?
Ф>>>проблема в том чтоя не могу получить данные из сокета.
M>>Дык что получать то собрался? Ружно сначала спросить, что тебе нужно, тогда и получишь ответ. Например:
M>>
Здравствуйте flyker, Вы писали:
F>Здравствуйте Фока, Вы писали:
Ф>>Здравствуйте Maslovsky, Вы писали:
M>>>Здравствуйте Фока, Вы писали:
Ф>>>>Пишу клиента НТТР вот краткий код
M>>>HTTP протокл то изучил прежде чем клиента писать?
F>Стандартный перевод строки не "\n\n" а "\r\n" так называемый CRCF
F>а писать надо так
F>
И Host надо указывать обязательно, без этого message-header велик шанс получит в ответ Bad Request (IIS проглатывает, проверено)
Кстати, а что это за строка у Фоки: "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914)"?
Если это User-Agent, то так делать не хорошо (хотя и можно). По RFC этот message-header служит для ловли багов.
Здравствуйте NavuhodonosoR, Вы писали:
NR>Здравствуйте flyker, Вы писали:
F>>Здравствуйте Фока, Вы писали:
Ф>>>Здравствуйте Maslovsky, Вы писали:
M>>>>Здравствуйте Фока, Вы писали:
Ф>>>>>Пишу клиента НТТР вот краткий код
M>>>>HTTP протокл то изучил прежде чем клиента писать?
F>>Стандартный перевод строки не "\n\n" а "\r\n" так называемый CRCF
F>>а писать надо так
F>>
NR>И Host надо указывать обязательно, без этого message-header велик шанс получит в ответ Bad Request (IIS проглатывает, проверено)
NR>Кстати, а что это за строка у Фоки: "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914)"? NR>Если это User-Agent, то так делать не хорошо (хотя и можно). По RFC этот message-header служит для ловли багов.
На простой GET без параметров сервер тоже как-нибудь ответит
А вдаваться в подробности протокола я не стал, потому что человеку нужно было
чтобы сервер ему хоть что-то ответил.
Все гениальное — просто
Re[6]: может поможет кто ?
От:
Аноним
Дата:
17.05.02 07:22
Оценка:
Здравствуйте flyker, Вы писали:
F>На простой GET без параметров сервер тоже как-нибудь ответит
А можно ткнуть пальцем в то место RFC, где это написано? :no:
Здравствуйте NavuhodonosoR, Вы писали:
NR>Кстати, а что это за строка у Фоки: "Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914)"? NR>Если это User-Agent, то так делать не хорошо (хотя и можно). По RFC этот message-header служит для ловли багов.
Все правильно, токо суьть моего ответа была в том, что человек пытался читать из сокета, ничего предварительно не спросив. А уж как он формирует запрос — проблемя следующая.
А>Здравствуйте flyker, Вы писали:
F>>На простой GET без параметров сервер тоже как-нибудь ответит А>А можно ткнуть пальцем в то место RFC, где это написано?
Только что проверил — IIS шлет "400 Bad Request" в ответ на GET\r\n\r\n.
Плохой способ проверять связь с сервером. И не самый лучший ответ на вопрос — человек не просто хочет получить ответ от сервера, он хочет получить "200 OK".