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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.05.2013, 18:10
Pcrepair
 
Сообщения: n/a
По умолчанию idHttp и отправка КУКИ в сервер

Добрый день. Есть следующий код(поток):

Код:
function TLoader.LoadSearchPage(const Reqest:string):string;
const
SMUrl = 'http://nova.rambler.ru/search?query=';
//UrlEnd ='&pagelen=50';
UrlEnd ='&dlang=0&mimex=0&st_date=&end_date=&news=0&limitcontext=0&exclude=&filter=&sort=3&pagelen=50&adult=soft';
var
FullUrl:string;
begin
FIdHttp:=TidHttp.Create(nil);
FSSL:=TIdSSLIOHandlerSocketOpenSSL.Create;
FCookie:=TIdCookieManager.Create;
    try
      try
        FIdHttp.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0';
        FIdHttp.Request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
        //FIdHttp.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.3';
        FIdHttp.Request.Connection:='Keep-Alive'; (*???*)
        FIdHttp.Request.ContentType:='text/html';   (*???*)
        FIdHttp.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
        FIdHttp.HandleRedirects := True;
        FIdHttp.ConnectTimeout:=50000;
        FIdHttp.ReadTimeout:=50000;
        FIdHttp.AllowCookies:=True;

        FIdHttp.IOHandler:=FSSL;
        FIdHttp.CookieManager:=FCookie;

        FullUrl:=(SMUrl+Reqest+UrlEnd);
        Result:=AnsiLowerCase(FIdHttp.Get(FIdHttp.URL.URLEncode(FullUrl)));
      except
        Result:='Error Loadind Page';
        Exit;
      end;
    finally
      FreeAndNil(FIdHttp);
      FreeAndNil(FSSL);
      FreeAndNil(FCookie);
    end;
end;
вроде бы все работает, но Мурзилла в сервер отсылает следующее:

GET /search?dlang=0&mimex=0&st_date=&end_date=&news=0&l imitcontext=0&exclude=&filter=&sort=3&adult=soft&p agelen=50&query=%D0%B7%D0%B0%D0%B3%D0%BE%D1%82%D0% BE%D0%B2%D0%BA%D0%B0+%D0%B4%D1%80%D0%BE%D0%B2+%D0% BD%D0%B0+%D0%B7%D0%B8%D0%BC%D1%83 HTTP/1.1
Host: nova.rambler.ru
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://nova.rambler.ru/search?dlang=...%D0%BC%D1%8 3
Cookie: ruid=9l4ABpCeR1BGIgAAAc5i3wB=; dvr=gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:1368360797; lvr=1368363315; xtvrn=$514210$; xtan=-; xtant=1; __utma=21227320.1028535311.1367572614.1367572614.1 367572614.1; __utmz=21227320.1367572614.1.1.utmcsr=(direct)|utm ccn=(direct)|utmcmd=(none); dv=gUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:1368360797; nlv=1368365221; __utma=112620571.1826725587.1367572618.1367759211. 1368360808.3; __utmz=112620571.1367759211.2.2.utmcsr=nhp|utmccn= (not%20set)|utmcmd=(not%20set); top100rb=NzQ2KzQ5KzEwNQ==; __utmc=21227320; __utmc=112620571; spravka=d

тогда как загрузчик на idHTTP в сервер шлет:

GET /search?query=%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82% D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE%20%D0%B4 %D0%B0%D1%87%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B4%D0%B E%D0%BC%D0%B8%D0%BA%D0%B0%20%D0%BC%D0%BE%D1%81%D0% BA%D0%B2%D0%B0&dlang=0&mimex=0&st_date=&end_date=& news=0&limitcontext=0&exclude=&filter=&sort=3&page len=50&adult=soft HTTP/1.1
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1
Host: nova.rambler.ru
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: identity
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0

++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++
заметно что загрузчик забыл отослать Referer и Cookie
в прынципе наверно Referer не очень то и нужно? а вот без Cookie можно очень скоро получить БАН от поисковика
Внимание! Вопросы:
1. так ли нужны Referer и Cookie? (вопрос для тех кто хакал поисковики)
2. как все же запихнуть в поисковик Cookie(использовать POST+СПИСОК вместо GET?)
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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