Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
ВнизIdHttp.Get Не могу получить страничку. Найти похожие ветки
← →
HF-Trade © (2010-09-08 16:42) [0]Здравствуйте.
На форме -
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-08 17:25) [1]Добавил
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);
Ошибку не выдает, но вместо странички приходит какая то чуш...
← →
И. Павел © (2010-09-08 17:39) [2]
> 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:46) [3]1. Эти настройки взял из Оперы, то что снифер увидел...
2. Что то вроде этого -
‹ Э=ЫrЫF–ПЦWtаd Zв
$uЈH—З—ДSv’ЌќMmUЄ\ R€IЂЂ
← →
Медвежонок Пятачок © (2010-09-08 17:50) [4]но вместо странички приходит какая то чуш...
AcceptEncoding := "deflate, gzip, x-gzip, identity, *;q=0";
а зачем ты серверу говоришь, что умеешь распакоывать гзип?
ты же его все равно не распаковываешь.
кроме того, с чего ты решил, что сервер тебе ответит контентом в вин-1251?
← →
HF-Trade © (2010-09-08 17:51) [5]После того как севрекр ответит HTTP/1.1 200 OK
Идет обмен пакетами, и в итоге в tmpStr попадает, вот эта чуш то что кинул выше.
Посмотрел снифером как там у Оперы - у нее после ответа пакетов приходит побольше раза в 2....
← →
И. Павел © (2010-09-08 17:54) [6]http://programmersforum.ru/showthread.php?t=45406
← →
HF-Trade © (2010-09-08 18:08) [7]Павел, я вчера скачал последнюю версию Indy, и у меня так и стоит -
IdHttp1.handleRedirects := True;
> Медвежонок Пятачок © (08.09.10 17:50) [4]
А как узнать кодировку? И что тогда лучше прописать в AcceptEncoding?
← →
Медвежонок Пятачок © (2010-09-08 19:20) [8]про кодировку тебе рассказывает сервер в заголовке ответа.
в акцеп энкодинг не надо говорить про гзип, если не умеешь его расжимать.
за тебя никто это делать не будет, idhttp - это просто транспорт и ничего больше.
← →
HF-Trade © (2010-09-09 01:55) [9]Всем спасибо.
Павел Вы были правы) Переустановил Indy все заработало...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c