Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1282364200
Anatoly Podgoretsky
2010-08-21 08:16
2010.11.28
анекдоты про Интел


2-1283779921
istok
2010-09-06 17:32
2010.11.28
сечь клики по win контролам...


10-1171321045
-=Tiger=-
2007-02-13 01:57
2010.11.28
И снова диаграмма и Excel...


11-1226407265
Dy1
2008-11-11 15:41
2010.11.28
исчез RichEdit


2-1284022386
6ruse
2010-09-09 12:53
2010.11.28
вместо ID его значение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский