Dear monks,
I started to write a script, which should log me in on one web page, the headers are as follows:

request

http://www.hellboundhackers.org/index.php
POST /index.php HTTP/1.1<br> Host: www.hellboundhackers.org<br> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko +/20080208 Mandriva/2.0.0.13-1.1mdv2008.0 (2008.0) Firefox/2.0.0.13<br +> Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9 +,text/plain;q=0.8,image/png,*/*;q=0.5 <br> Accept-Language: en-us,en;q=0.5<br> Accept-Encoding: gzip,deflate<br> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 <br> Keep-Alive: 300<br> Connection: keep-alive<br> Referer: http://www.hellboundhackers.org/index.php<br> Cookie: __utma=240219034.940153525.1209163011.1213625020.1213626434.79 +;<br> __utmb=240219034; fusion_visited=TRUE;<br> __utmz=240219034.120 +9310076.15.2.utmccn=(organic)|utmcsr=google|utmctr=site%3Awww.hellbou +ndhackers.org+ezekiel|utmcmd=organic;<br> PHPSESSID=rl6oeo664r7g9lnd7gin5ilvn3; __utmc=240219034<br> Content-Type: application/x-www-form-urlencoded<br> Content-Length: 47<br> user_name=***&user_pass=***&login=Login<br> <br> Respond<br> <br> HTTP/1.x 302 Found <br> Date: Mon, 16 Jun 2008 13:48:06 GMT<br> Server: Apache<br> X-Powered-By: PHP/5.0.4<br> Set-Cookie: PHPSESSID=rl6oeo664r7g9lnd7gin5ilvn3; path=/<br> Set-Cookie: fusion_user=24236.f31e0a8a2cefed417ec46c7675e4142d;<br> expires=Mon, 16 Jun 2008 16:48:06 GMT; path=/<br> Expires: Thu, 19 Nov 1981 08:52:00 GMT<br> Cache-Control: no-store, no-cache, must-revalidate,<br> post-check=0, +pre-check=0<br> Pragma: no-cache<br> Location: index.php<br> Content-Length: 0<br> Connection: close<br> Content-Type: text/html<br>
----------------------------------------------------------
For that I used this code:
use LWP::UserAgent; use HTTP::Cookies; $agent = LWP::UserAgent->new; $agent->agent('Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Ge +cko/0000000000 Mandriva/2.0.0.13-1.1mdv2008.0 (2008.0) Firefox/2.0.0. +13'); $url = 'http://www.hellboundhackers.org/index.php'; my $request = HTTP::Request->new(POST => $url); $request->content_type("application/x-www-form-urlencoded"); $request->content('user_name=***&user_pass=***&login=Login'); $request->content_length(47); $request->referer('http://www.hellboundhackers.org/index.php'); $respond = $agent->request($request); print "this is request ".$request->as_string()."\n"; print "this is respond".$respond->as_string()."\n"; my $request = HTTP::Request->new(GET=>$url); $response = $agent->request($request); if ( $response->is_success) { print $request->as_string(); print $response->content; die; }
But then the GET request returns page, where I'm not logged in... I got the respond header printed out, and it seems correct, so I've got no idea what's wrong. However strange is that normally this code returns also the source of the page ( withouth the second GET request ), but it only returns the header.

Then I tried the WWW::Mechanize module, but it doesn't work either, because the site needs you to have a valid referer, when you're logging in, and I can't find any way how to edit the WWW::Mechanize requests.... Here is the code of that script:
use WWW::Mechanize; use HTML::Form; use LWP::UserAgent; my $agent = LWP::UserAgent->new; my $url = 'http://www.hellboundhackers.org/index.php'; my $response = $agent->get($url); my $mech = WWW::Mechanize->new ; my @forms = HTML::Form->parse($response); my $username = $forms[1]->find_input("user_name","text"); my $password = $forms[1]->find_input("user_pass","password"); $username->value("***"); $password->value("***"); my $filled_out_request = $forms[1]->click; $response = $agent->request($filled_out_request); print $response->content;

And this is the source of the form(it's 2nd form on the page) :

<form id='loginform' method='post' action='index.php'> <div style="text-align: center;"> <input type='text' name='user_name' class='textbox' style='width:100px +' /><br /> <input type='password' name='user_pass' class='textbox' style='width:1 +00px' /><br /> <input type='checkbox' name='remember_me' value='y' />Remember Me<br / +><br /> <input type='submit' name='login' value='Login' class='button' /><br / +> </div> </form><br >
Sorry for the lenght of this post, I just wanted to make sure, everything is included...
Thanks for any help

In reply to POSTing information on a web page by clone4

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.