![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IdHttp.Get Не могу получить страничку. [D7, XP]
HF-Trade © (2010-09-08 16:42:00)Здравствуйте.
На форме -
IdHttp
IdAntifrezee
IdCookieManager
Поля Request у IdHttp1 заполнены так -
UserAgent := 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.61';
Host := 'l2top.ru';
Accept := 'text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1';
AcceptLanguage := 'ru-RU,ru;q=0.9,en;q=0.8';
AcceptCharSet := 'iso-8859-1, utf-8, utf-16, *;q=0.1';
AcceptEncoding := 'deflate, gzip, x-gzip, identity, *;q=0';
Connection := 'Keep-Alive, TE';
Свойства IdHttp1 -
RedirectMaximum := 3;
HandleRedirects := True;
AllowCookies := True;
...
Пробую получить страничку
tmpStr := idhttp1.Get(' http://l2top.ru/vote/3577/');
Ну собсно не получается...
Подскажите чтонить.
HF-Trade (2010-09-09 01:55:00) [1]Всем спасибо.
Павел Вы были правы) Переустановил Indy все заработало...
Медвежонок Пятачок (2010-09-08 19:20:00) [2]про кодировку тебе рассказывает сервер в заголовке ответа.
в акцеп энкодинг не надо говорить про гзип, если не умеешь его расжимать.
за тебя никто это делать не будет, idhttp - это просто транспорт и ничего больше.
HF-Trade (2010-09-08 18:08:00) [3]Павел, я вчера скачал последнюю версию Indy, и у меня так и стоит -
IdHttp1.handleRedirects := True;
> Медвежонок Пятачок © (08.09.10 17:50) [4]
А как узнать кодировку? И что тогда лучше прописать в AcceptEncoding?
И. Павел (2010-09-08 17:54:00) [4]http://programmersforum.ru/showthread.php?t=45406
HF-Trade (2010-09-08 17:51:00) [5]После того как севрекр ответит HTTP/1.1 200 OK
Идет обмен пакетами, и в итоге в tmpStr попадает, вот эта чуш то что кинул выше.
Посмотрел снифером как там у Оперы - у нее после ответа пакетов приходит побольше раза в 2....
Медвежонок Пятачок (2010-09-08 17:50:00) [6]но вместо странички приходит какая то чуш...
AcceptEncoding := 'deflate, gzip, x-gzip, identity, *;q=0';
а зачем ты серверу говоришь, что умеешь распакоывать гзип?
ты же его все равно не распаковываешь.
кроме того, с чего ты решил, что сервер тебе ответит контентом в вин-1251?
HF-Trade (2010-09-08 17:46:00) [7]1. Эти настройки взял из Оперы, то что снифер увидел...
2. Что то вроде этого -
\x1F‹\x8 \x3Э=ЫrЫF–ПЦWtаd Zв
$uЈH—З—ДSv’ЌќMmUЄ\ \x1R€IЂ\x3Ђ
И. Павел (2010-09-08 17:39:00) [8]
> Accept := 'text/html, application/xml;q=0.9, application/xhtml+xml,
> image/png, image/jpeg, image/gif, image/x-xbitmap, */*;
> q=0.1';
> AcceptLanguage := 'ru-RU,ru;q=0.9,en;q=0.8';
> AcceptCharSet := 'iso-8859-1, utf-8, utf-16, *;q=0.1';
> AcceptEncoding := 'deflate, gzip, x-gzip, identity, *;q=0';
>
> Connection := 'Keep-Alive, TE';
Эти настройки необходимы, или вы просто взяли за основу какой-то пример из сети?
> но вместо странички приходит какая то чуш.
Первые несколько строчек "чуши" в студию!
HF-Trade (2010-09-08 17:25:00) [9]Добавил
tmpStr := '';
try
tmpStr := IdHTTP1.Get(' http://l2top.ru/vote/3577/');
except on e : EIDHttpProtocolException do
Begin
IF e.ErrorCode = 302 Then
Begin
Try
Memo1.lines.add(IdHTTP1.Get(IdHTTP1.Response.Location));
except on e: Exception do
ShowMessage('Ошибка при получении нового адреса.'+e.Message);
end;
end
Else
ShowMessage('Код ошибки : ' + e.Message);
end;
on e: Exception do
ShowMessage('Ошибка: ' + e.Message);
Ошибку не выдает, но вместо странички приходит какая то чуш...