C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TClientSocket, Help me, please
Arsa
Отправлено: 09.09.2006, 22:39


Дежурный стрелочник

Группа: Участник
Сообщений: 77



Правильно ли я состовляю заголовок запроса?

String Str= "GET /index.php HTTP/1.0\n";
Str= Str + "Connection: Keep-Alive\n";
Str= Str + "User-Agent: Mozilla/2.02Gold (WinNT; I)\n";
Str= Str + "Host: www.allsoccer.ru\n";
Str= Str + "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\n\n";

Socket->SendBuf(Str.c_str(),Str.Length());

А потом тишина, никого ответа нет ...
AVC
Отправлено: 11.09.2006, 08:30


Ветеран

Группа: Модератор
Сообщений: 1583



Не помню, нужно ли повторять host в Get(Post). Я повторяю. Вот пример заголовка и ответ приходит
CODE

AnsiString host = "......";

text = AnsiString("") + "\
GET http://" + host + "/..../.. HTTP/1.0\r\n\
Host: " + host + "\r\n\
Accept: */*\r\n\
Accept-Language: ru\r\n\
Pragma: no-cache\r\n\
User-Agent: my mazzilla\r\n\
Proxy-Connection: Keep-Alive\r\n\
\r\n";

answer = HttpPostExecute(tsock, proxi, proxiport, text, 20000);
if (answer.IsEmpty()) throw Exception("А в ответ тишина...");
Konstantine
Отправлено: 11.09.2006, 13:13


Мастер участка

Группа: Модератор
Сообщений: 545



host в Get(Post) повторяется только если идёт через проксу
а так не нужно.
вот я собирал информашку на эту же тему (только мне нужно было страницу с параметрами POST принять) браузер IE
QUOTE
Прямой запрос на сервер:

POST /needpage.html?a=3 HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Referer: http://127.0.0.1/1/
Accept-Language: uk
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: 127.0.0.1:8000
Content-Length: 42
Connection: Keep-Alive
Pragma: no-cache

c=k&thing_name=sdfs&th_type=2&thing_id=322



Запрос на прокси сервер:

GET http://ya.ru/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: uk
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: ya.ru
Proxy-Connection: Keep-Alive


Ответ прокси при требовании аутентификации:

HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE12-NT
Mime-Version: 1.0
Date: Mon, 04 Sep 2006 07:17:41 GMT
Content-Type: text/html
Content-Length: 1295
Expires: Mon, 04 Sep 2006 07:17:41 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Squid proxy-caching web server"
X-Cache: MISS from sat2
Proxy-Connection: close

...


Повторный запрос с аутентификацией

GET http://ya.ru/ HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: uk
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: ya.ru
Proxy-Connection: Keep-Alive
Proxy-Authorization: Basic cG9sem92OnBhcm9s
Arsa
Отправлено: 11.09.2006, 17:30


Дежурный стрелочник

Группа: Участник
Сообщений: 77



Спасибо, разабрался с вашей помощью!

Вернуться в Вопросы программирования в C++Builder