🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.pascal
1 messages
1 total messages Started by Sławek Tue, 05 Apr 2011 23:30
Logowanie na stronie http, błąd 301
#93179
Author: Sławek
Date: Tue, 05 Apr 2011 23:30
54 lines
2691 bytes
Witam,

Napisałem program, który loguje mi się na różne witryny,
po czym automatycznie pobiera mi z tych witryn pliki cennika.
Problem w tym, że na jedną z witryn nie mogę się zalogować.
Program jest trochę rozbudowany, więc napiszę skrótowo
czego użyłem:


IdHTTP.CookieManager := IdCookie;
// IdHTTP.IOHandler := IdSSL;
IdHTTP.HandleRedirects := True;
IdHTTP.AllowCookies := True;
IdHTTP.ReadTimeout := 5000;
IdHTTP.Request.UserAgent := 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; 
rv:1.9.2.16) Gecko/20110322 Fedora/3.6.16-1.fc14 Firefox/3.6.16';

//pobranie strony logowania
adres := 'http://nowe.yamo.pl/'
IdHTTP.Request.Host := adres;
UstawCookies();
strona := IdHTTP.Get(adres);
OdbierzCookies();

   frData := TIdMultiPartFormDataStream.Create;
   try
     frData.AddFormField('l_login', moj_login);
     frData.AddFormField('l_pass', moje_haslo);
     frData.AddFormField('sf', 'l_login');
     UstawCookies();
     strona := IdHTTP.Post(adres, frData); //WYSYŁANIE FORMULARZA
     OdbierzCookies();
   finally
     FreeAndNil(frData);
   end;

Efekt jest taki, że Post zamiera na ok. półtorej minuty,
po czym zwraca pusty ciąg. Gdy zaś HandleRedirects
ustawię na false, to zwraca mi błąd 301. Tyle, że w
IdHTTP.Response.Location pojawia się wówczas ten sam adres,
który użyłem do wysłania formularza(!) - jakiś bezsens.

Przeglądarka (Firefox) po wyłączeniu javascript loguje się
bez problemów, a więc javascript nie ma tu nic do rzeczy.
Obsługa cookies raczej działa dobrze, bo na innych
witrynach nie mam takich problemów, ale jak trzeba to
podam co jest w UstawCookies i OdbierzCookies.

Może ktoś doradzi, co jest nie tak z tym kodem?
Gdzie szukać przyczyny problemu?
Jakaś wskazówka? Bo ja już nie mam pomysłu.

Pozdrawiam,
Sławek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads