Hey Monk, I am trying to use POST method to access the content. First POST is successful. After that I get 302 Error. Please look into the code and suggest me where I am going wrong. Thank you.
#!/usr/bin/perl -w use LWP; use strict; my $out_file = "result_seraph.html"; open(OUT, ">$out_file") || die "Can't write-open $out_file: $!"; binmode(OUT); my $browser = LWP::UserAgent->new; $browser->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Apple +WebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4', 'Accept' => 'application/xml,application/xhtml+xml,text/html;q=0.9 +,text/plain;q=0.8,image/png,*/*;q=0.5', 'Accept-Charset' => 'iso-8859-1,*,utf-8', 'Accept-Language' => 'en-US', ); $browser->cookie_jar({}); my $url = 'http://www.indiapost.gov.in/Pin/Pinsearch.aspx'; my $temp_res = $browser->get($url); my $temp_content = $temp_res->content(); my $vw_state = &view_state_finder($temp_content); my $event_val = &event_val_finder($temp_content); print OUT "$vw_state\n$event_val\n"; my $response = $browser->post( 'http://www.indiapost.gov.in/Pin/Pinsearch.aspx', [ '__VIEWSTATE' => $vw_state, 'txt_offname' => "", 'ddl_dist' => '0', 'txt_dist_on' => "", 'ddl_state' => '11', 'btn_state' => 'Search', 'txt_stateon' => "", "hdn_tabchoice" => "3", '__VIEWSTATEENCRYPTED' => "", '__EVENTVALIDATION' => $event_val, ] ); die "Error: ", $response->status_line, "\n" unless $response->is_success; my $iter = 0; my $content = $response->content; while($iter < 10){ $content = &biz_detail($iter,$content); print $iter,"\n"; $iter++; } sub view_state_finder(){ my $txt = shift; my $view_state = ""; if($txt =~ /id="__VIEWSTATE" value="([^"]+)"/s){ $view_state = $1; } return $view_state; } sub event_val_finder(){ my $txt = shift; my $event_validation = ""; if($temp_content =~ /id="__EVENTVALIDATION" value="([^"]+)"/s){ $event_validation = $1; } return $event_validation; } sub biz_detail(){ my $biz_num = shift; my $biz_content = shift; my $event_arg = 'Select$'.$biz_num; my $biz_vw_state = &view_state_finder($biz_content); my $biz_event_val = &event_val_finder($biz_content); $response = $browser->post( 'http://www.indiapost.gov.in/Pin/Pinsearch.aspx', [ '__EVENTTARGET' => 'gvw_offices', '__EVENTARGUMENT'=> $event_arg, '__VIEWSTATE' => $biz_vw_state, 'txt_offname' => "", 'ddl_dist' => '0', 'txt_dist_on' => "", 'ddl_state' => '11', 'txt_stateon' => "", "hdn_tabchoice" => "3", '__VIEWSTATEENCRYPTED' => "", '__EVENTVALIDATION' => $biz_event_val, ] ); die "Error: ", $response->status_line, "\n" unless $response->is_success; $biz_content = $response->content; return $biz_content; }
In reply to POST Method 302 Error by pkumar.pr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |