Portál AbcLinuxu, 12. května 2025 05:24

Dotaz: LWP::UserAgent - ziskani reponse header

3.12.2009 23:50 Mr.S1lent.cz
LWP::UserAgent - ziskani reponse header
Přečteno: 295×
Odpovědět | Admin
Zdravim, pomoci LWP::UserAgent resim login na jeden web, avsak zde je verifikace resena pomoci get variable a ne pomoci cookies, coz by bylo jednodussi... Cili post metoda vraci hlavicku s Location na novou url, obsahujici i danou get variable, jejiz hodnotu potrebuju ziskat. Studoval jsem dany modul a nasel tam metodu "add_handler", kdyz jsem ji projel ocima, vsiml jsem si, ze tam loaduje modul HTTP::Config, ktery ovsem neni v zakladni instalaci perl5, mozna proto mi to haze chybu "Can't locate object method "add_handler" via package "LWP::UserAgent" at..." Jiste, neni problem si dany modul stahnout, pokud je krpa v tom, ze chybi, ale to si nemuzu dovolit - nemuzu si dovolit, aby tato aplikace nefungovala na perlu s defaultne instalovanymi moduly..., nejake napady? :-(
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.12.2009 00:20 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tie údaje sa posielajú pomocou POST? Ak áno, tak problém je v tom, že presmerovanie je povolené len pre GET a HEAD a nie pre POST. Riešenie by mohlo byť povolenie presmerovania aj pre POST. V dokumentácii je niečo takéto:
push @{ $ua->requests_redirectable }, 'POST';
4.12.2009 06:35 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Odpovědět | | Sbalit | Link | Blokovat | Admin
url redirectu lze obecně získat takto: my $reply = $agent->... ; my $redirect_uri = $reply->request->uri;
In Ada the typical infinite loop would normally be terminated by detonation.
4.12.2009 08:09 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Zkusil jsem obe rady, redirect uri mi vypise akorat url, na ktera odesilam post data, zkusil jsem si dumperem vyhodit cely response, ale nikde jsem tam nenasel nic o redirectovani na jinou url... Pritom vim, ze to tam je ( diky HttpFox pluginu do FF jsem si overil response headers ) a tak vim, ze to vraci mimojine i Loacation: kam :-/
4.12.2009 15:19 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
No a co je v tom dumpu, popřípadě ve wiresharku? Neredirectuje to jen ve FF?
In Ada the typical infinite loop would normally be terminated by detonation.
4.12.2009 16:45 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
V response hashi je jen html content a odeslane headers, zadne prijate hlavicky.... Takze server nekontroluje, zda se jedna o podporovany prohlizec na zaklade hlavicek a agenta, jak tomu je napr u googlu, ale obsah normalne odesle, avsak hlavicky nikde nevidim :-( co jsem studoval tu metodu redirect_ok, tak ta stejne vyuziva LPW::UserAgent::header( $arg ), kde jsem zkousel dat 'Location', ponevadz takovou hlavicku FF odesle, ale bezvysledne - dumper vyhodil undef... Zadnou takto testovanou hlavicku jsem neziskal :-( Nejake napady?
4.12.2009 16:47 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Location neodošle náhodou ten server aby prehliadač vedel, že má načítať inú stránku?

PS: Tie údaje sa odosielajú pomocou POST?
4.12.2009 17:35 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Ano, je to pomoci post :-) A ano, to location vraci server pro presmerovani na url s nejakym vygenerovanym otiskem v get variable pro verifikaci a prave ten otisk potrebuju ziskat - uz jsem rikal, ze to vraci server v hlavicce, dle FF nastroje HttpFox... Pisu si IRC Branu pro jeden nejmenovany server - to jenom, aby jste si nemysleli, ze delam nejake spam roboty apod :-))) Takze nejake napady? neni treba mozne, ze ten server timto zpusobem znemoznuje verifikaci nejakym spam botum a ja bych mel odesilat FF hlavicky, aby mi to "proslo" ? :-)
4.12.2009 18:38 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Povolil si aj to presmerovanie pre POST a po tom presmerovaní to nenastavilo cookie?
4.12.2009 20:13 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Moc nerozumím situaci. Máte konkrétní příklad -- hlavičky požadavku a odpovědi?
In Ada the typical infinite loop would normally be terminated by detonation.
4.12.2009 21:21 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Tady je screen: http://img341.imageshack.us/img341/1381/src.gif
5.12.2009 09:30 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
To je sice hezký ale já bych to chtěl vidět z pohledu toho LWP, ne FF.

Jo a obrázky se sem dají dát jako příloha.
In Ada the typical infinite loop would normally be terminated by detonation.
5.12.2009 12:09 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Ted jsem to zkusil jinak, vyhodil jsem FF hlavicku na navratove kodovani gzip or deflate a v $response->content uz se nachazi i hlavicky, ktere v $response->decoded_content nebyly... Z hlavicky jsem se dozvedel 'client-ssl-warning' => 'Peer certificate not verified', 'x-cnection' => 'close', takze uz asi vim, kde bude chyba, az ji odstranim, zrejme by to melo vracet i hlavicku 'Location', akorat mi teda neni jasne, proc decoded_content je o tyto hlavicky "orezany" :-/
6.12.2009 09:22 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: LWP::UserAgent - ziskani reponse header
Určitě nějaké logické vysvětlení bude :P
In Ada the typical infinite loop would normally be terminated by detonation.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.