Posting a html form using LWP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sharif
    New Member
    • Nov 2006
    • 4

    Posting a html form using LWP

    Anyone could help me out for n=my code ......I have written following code ,Here i m able to get and post the form successfuly..bu t after posting im not gettng proper response content...

    #!usr/bin/perl -w
    use strict;
    use LWP;
    use LWP::Simple;
    use LWP::UserAgent;
    use HTML::Form;
    use Switch;
    use HTTP::Cookies;
    #use HTTP::Headers;
    my $name = "";
    my $url='https://192.168.2.24:10 443/index.php';
    my $usr_agent = new LWP::UserAgent;
    $usr_agent->env_proxy;
    #my $browser = LWP::UserAgent->new(agent =>'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461)',
    # 'cookie_jar' => {file => "lwpcookies.txt ", autosave => 1,ignore_discar d => 1});

    #Request the page

    my $req = new HTTP::Request(' POST', 'https://193.168.2.24:10 443/index.php');
    my $cookie_jar = HTTP::Cookies-> new( file => "cookie.txt ",
    autosave => 1,
    ignore_discard => 1
    );
    $usr_agent->cookie_jar($co okie_jar);
    my $response = $usr_agent->request($req );

    # my $response =$browser->get($url);

    my $my_string1 = $response->content;
    open(OUT,">web_ request.txt");
    print OUT $my_string1;
    close OUT;
    #my @forms = HTML::Form->parse($respons e);
    if (!($response->is_success))
    {
    print "Cannot get $url: ", $response->status_line, "\n";
    }
    if ($usr_agent->cookie_jar->as_string)
    { # they set cookies
    print "///////////////////////////////";
    print "use HTTP::Cookies; $usr_agent->cookie_jar(HTT P::Cookies->new)", "\n";
    # to set cookies
    print "$usr_agent->request($req)" ,"\n";
    print "///////////////////////////////";

    }
    # my $abb = $cookie_jar->extract_cookie s($response);
    my @forms = HTML::Form->parse($respons e);#parse the form got by request
    my @inputs = $forms[0]->inputs; #parse all the input tags
    my %parsed_inputs = ();
    my %parsed_actions = ();
    my %parsed_checks = ();
    my %parsed_others = ();
    foreach my $input(@inputs)
    {
    $name = $input->name;
    my $input_type = $input->type;
    switch($input_t ype)
    {
    case "text" { $parsed_inputs{ $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    case "password" {$parsed_inputs { $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    case "option" {$parsed_inputs { $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    case "button" {$parsed_action s{ $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    case "reset" {$parsed_action s{ $name } = {
    value => $input->value,
    type => $input->type,
    };
    }

    case "submit" {$parsed_action s{ $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    case "checkbox"{$par sed_checks{ $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    case "radio" {$parsed_checks { $name } = {
    value => $input->value,
    type => $input->type,
    };
    }
    else {$parsed_others { $name } = {
    value => $input->value,
    type => $input->type,
    };
    }#file/hidden/image
    }
    }
    my $req1 = new HTTP::Request(' POST',$url,['uname' =>'jitu@mwti.ne t',
    'pass'=>'jitu12 3',
    'login'=>'Login ', ]);

    my $respons = $usr_agent->request($req1) ;
    my $my_string = $respons->content;
    open(OUT,">web_ response.txt");
    print OUT $my_string;
    close OUT;
Working...