|
#1
|
||||
|
||||
IdHTTP и cookies
Здравствуйте! Проблема в следующем: пытаюсь залогиниться на одном сайте, но проблема в том, что кукисы не принимаются (на форме IdHTTP и IdCookieManager). В Firefox все нормально. Пытался "вручную подставить кукисы", но кукисы не передаются серверу. Кукисы подставлял так:
Код:
cookies:=idhttp1.Response.RawHeaders.CommaText; Edit1.Text:=cookies; p1:=pos('PHPSESSID=',cookies)+10; p2:=pos('; ',cookies); p:=copy(cookies,p1,p2-p1); U:=TidURI.Create('site.com'); IdHTTP1.CookieManager.AddCookie('PHPSESSID=' +p,U); "Date: Sat, 19 Feb 2011 20:11:55 GMT","Server: Apache/2.2.13 (Linux/SUSE)","X-Powered-By: PHP/5.3.3","Set-Cookie: PHPSESSID=f52s8i28r72g18div0iv1bueg2gb9bpm; path=/","Expires: Thu, 19 Nov 1981 08:52:00 GMT","Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0","Pragma: no-cache","Content-Length: 0","Keep-Alive: timeout=15, max=100","Connection: Keep-Alive","Content-Type: text/plain; charset=UTF-8" |
#2
|
||||
|
||||
а зачем вообще их "руками" трогать? у TIdHTTP IdHTTP1.CookieManager:=IdCookieManager1 (а для Delphi 6, 7 TIdCookieManager на форме вообще не обязателен, ибо создается сам, если AllowCookies=True) и AllowCookies:=True; отправляешь POST с аутентификацией и все.
Пишу программы за еду. __________________ |
#3
|
||||
|
||||
Цитата:
С других сайтов получает нормально автоматом, а с этого не хочет, но Лиса справляется Последний раз редактировалось adidas, 20.02.2011 в 13:51. |
#4
|
|||
|
|||
Советую посмотреть в сторону компанента IDHTTPex ссылка вот http://kdcodes.blogspot.com/p/idhttpex.html . Меня не раз уже выручил
|
#5
|
||||
|
||||
Короче, методом тыка я разобрался, как "вручную" установить нужные мне куки. Всем спасибо!
bulldog, спасибо за ссылку. |