Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 02:17   #1
dkdkdk
 
Регистрация: 17.12.2009
Сообщений: 7
По умолчанию IdHTTP.Get Google выдает ошибку при попытке получить исходный текст

с другими сайтах работает нормально, а при попытке получить исходный текст IdHttp1.get() поиска в гугле - Invalid argument to date encode.
Причем версия Инди, как понимаю, не важна - с 9 на последнюю - не помогло.
на форумах было найдено, что это из-за того, что в хедере параметр "expires=expires=Thu, 01 Jan 1970, 00:00:00"
нужна помощь!
dkdkdk вне форума Ответить с цитированием
Старый 17.12.2009, 11:17   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Для начала подключите куки.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 17.12.2009, 12:20   #3
dkdkdk
 
Регистрация: 17.12.2009
Сообщений: 7
По умолчанию

бросить cookie manager на форму и
Код:
idHttp2.CookieManager := IdCookieManager1;
idhttp2.allowcookies:=true;
как я понимаю, вот так? ничего не поменялось( или что-то неправильно?

Последний раз редактировалось dkdkdk; 17.12.2009 в 13:23.
dkdkdk вне форума Ответить с цитированием
Старый 17.12.2009, 15:02   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Только что проверил:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:tstringstream;
begin
s:=Tstringstream.Create;
try
idhttp1.Get('http://www.google.ru/search?q=ffffffff',s);
finally
  s.Position:=0;
  memo1.Lines.LoadFromStream(s);
  s.Free;
end;
Код:
  object IdHTTP1: TIdHTTP
    AllowCookies = True
    ProxyParams.BasicAuthentication = False
    ProxyParams.ProxyPort = 0
    Request.ContentLength = -1
    Request.Accept = 'text/html, */*'
    Request.BasicAuthentication = False
    Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)'
    HTTPOptions = [hoForceEncodeParams]
    Left = 384
    Top = 80
  end
все работает корректно.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 17.12.2009, 15:18   #5
dkdkdk
 
Регистрация: 17.12.2009
Сообщений: 7
По умолчанию

все то же самое, но работает только если в опциях дебаггера убрать остановку на exceptions. при этом все нужное выполняет. а так зависает на get и все.
непонятно. ((
dkdkdk вне форума Ответить с цитированием
Старый 17.12.2009, 15:56   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Остановка на exceptions у меня стоит. Никаких ошибок приведенный код не вызывает. Использую Delphi 2010 и последнюю ревизию Indy из SVN-а
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 17.12.2009, 16:23   #7
dkdkdk
 
Регистрация: 17.12.2009
Сообщений: 7
По умолчанию

delphi 7 и indy 10.5.7
видимо, дело в этом.
в любом случае, спасибо)
dkdkdk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IdHttp получить только текст rangel Общие вопросы Delphi 1 25.06.2009 15:31
при поиске по базе выдает ошибку - Пропущен оператор в выражении frai БД в Delphi 1 09.11.2007 23:01
При активизации формы выдает ошибку Canadec Общие вопросы Delphi 11 04.09.2007 12:10