Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.05.2011, 10:25
sanello sanello вне форума
Прохожий
 
Регистрация: 10.08.2010
Сообщения: 8
Репутация: 10
По умолчанию IdHTTP и капча

Здравствуйте, возникла следующая проблема:
при отправке Get запроса сервер возвращает капчу, если этот же запрос отправить из браузера то возвращается то что нужно.
Т.е. сервер каким то образом определяет что запрос отправлен IdHTTP, в свойствах компонента таких как: Request.UserAgent, Request.Accept, и т.д. прописываю то же что отправляется из браузера. Подскажите как быть.
Ответить с цитированием
  #2  
Старый 24.05.2011, 10:39
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

посмотреть какие cookie отправляет браузер и отправлять через IdHTTP-TIdCookieManager такие же.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 24.05.2011, 18:42
sanello sanello вне форума
Прохожий
 
Регистрация: 10.08.2010
Сообщения: 8
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
посмотреть какие cookie отправляет браузер и отправлять через IdHTTP-TIdCookieManager такие же.
куки тоже пробовал добавлять через TIdCookieManager
вот ссылка
http://wordstat.yandex.ru/
может у кого получиться получить данные
Ответить с цитированием
  #4  
Старый 28.05.2011, 17:44
Аватар для NekitoSSSS
NekitoSSSS NekitoSSSS вне форума
Начинающий
 
Регистрация: 02.05.2009
Адрес: Башкортостан, г.Благовещенск
Сообщения: 142
Версия Delphi: XE
Репутация: 13
По умолчанию

копай в сторону kiks.yandex.ru, и вообще поснифай полностью деятельность браузера на этой странице. т.к. там куча JS'ок, проверяющих на "человечность".
Ответить с цитированием
  #5  
Старый 24.10.2011, 00:47
mr_walker mr_walker вне форума
Прохожий
 
Регистрация: 22.09.2011
Сообщения: 5
Версия Delphi: 7 и XE
Репутация: 10
По умолчанию

Нужно отловить куки и посылать их при последующих запросах. Можно сделать это коряво и вручную как делал я=)
Код:
  HTTP := TIdHTTP.Create(nil);
  HTTP.AllowCookies:=false;
  HTTP.HandleRedirects:=false; //НЕ редиректим
  http.Request.UserAgent :=
    'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01';
 s := HTTP.Response.RawHeaders.text;// showmessage(s) и если что смотрим длинну своей сеткуки глазками=) я так делал)))
   if Pos('Set-Cookie', s) <> 0 then
   begin
    a:= copy(s, Pos('Set-Cookie', s), 60); //Здесь 60 это длинна строки с моими куками
    s:='';
    s:=copy(a, Pos(' ', a)+1, 42); //Копируем только значение
    s := 'Cookie: '+s;
   end;
 HTTP.Request.CustomHeaders.text := s;//вот мы и посылаем куки вида     "Cookie: 123456ваывы8798пав"=)
    if http.ResponseCode = 302 then //если редирект, то сами редиректим... 
      s := http.Get('http://site.domain' + http.Response.Location);
Вроде все... ну... у меня так работало... знаю написано криво и т.д. но для своих нужд пойдет)
ах, да...
Код:
var'ы:
s, a; strings;
http: TIdHTTP;

lmikle: пользуемся тегами!!!

Последний раз редактировалось lmikle, 24.10.2011 в 00:58.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:32.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter