Sylvain,

Wow, problem solved. 

Thank you very much!


Gary


--- On Tue, 6/14/11, Sylvain Thibault <sylva...@comcast.net> wrote:

> From: Sylvain Thibault <sylva...@comcast.net>
> Subject: Re: LWP post cannot get result page. LWP post did not send correct 
> form data.
> To: "Gary Yang" <garyya...@yahoo.com>, libwww@perl.org, "Rob Dixon" 
> <rob.di...@gmx.com>
> Date: Tuesday, June 14, 2011, 11:43 AM
> Gary,
> 
> To enable post redirect to the new location, just add the
> following:
> 
> my $browser = LWP::UserAgent->new;
> push @{$browser->requests_redirectable}, 'POST';
> 
> The redirect is a GET request to the following URL: 
> http://www.abebooks.com/servlet/SearchResults?sts=t&tn=Codex+Seraphinianus
> 
> Automatic with the above line added.
> 
> ----- Original Message ----- From: "Gary Yang" <garyya...@yahoo.com>
> To: <libwww@perl.org>;
> "Rob Dixon" <rob.di...@gmx.com>
> Sent: Tuesday, June 14, 2011 1:56 PM
> Subject: Re: LWP post cannot get result page. LWP post did
> not send correct form data.
> 
> 
> Rob,
> 
> When I changed url to 'http://www.abebooks.com/servlet/SearchResults', I got
> “302 Moved Temporarily”. What did I miss? Can you please
> copy and paste the code below and try? Will it work for
> you?
> 
> #!/usr/bin/perl -w
> 
> use strict;
> use LWP;
> 
> my $browser = LWP::UserAgent->new;
> 
> my $response = $browser->post('http://www.abebooks.com/servlet/SearchResults',
>   ["sts" => "t",
>    "an" => "",
>    "tn" => "Codex Seraphinianus",
>    "kn" => "",
>    "isbn" => "",
>   ]
> );
> 
> die "Error: ", $response->status_line, "\n" unless
> $response->is_success;
> 
> my $out_file = "result_seraph.html"; # where to save it
> open(OUT, ">$out_file") || die "Can't write-open
> $out_file: $!";
> 
> binmode(OUT);
> print OUT $response->content;
> close(OUT);
> print "Bytes saved: ", -s $out_file, " in $out_file\n";
> 
> 
> “302 Moved Temporarily”
> 
> 
> <form action="/servlet/SearchResults" method="post"
> name="homepageSearch">
> 
> 
> Gary
> 
> 
> --- On Tue, 6/14/11, Rob Dixon <rob.di...@gmx.com>
> wrote:
> 
> > From: Rob Dixon <rob.di...@gmx.com>
> > Subject: Re: LWP post cannot get result page. LWP post
> did not send correct form data.
> > To: libwww@perl.org
> > Cc: "Gary Yang" <garyya...@yahoo.com>
> > Date: Tuesday, June 14, 2011, 3:07 AM
> > On 14/06/2011 09:11, Gary Yang
> > wrote:
> > > I have been trying to learn LWP Post, by going
> through
> > an examples on the web. Perl& LWP. I try to
> search
> > AbeBooks for the book "Codex Seraphinianus" from the
> main
> > page (AbeBooks). Below is the code that I am using.
> But this
> > just sends me back the content of the search page not
> the
> > result page. Anyone knows what the problems are? Can
> someone
> > show me a real working code of LWP post?
> > >
> > > Here is the code that I am using:
> > >
> > > #!/usr/bin/perl -w
> > >
> > > use strict;
> > > use LWP;
> > >
> > > my $browser = LWP::UserAgent->new;
> > >
> > > my $response = $browser->post('http://www.abebooks.com',
> > > ["sts" => "t",
> > > "an" => "",
> > > "tn" => "Codex
> > Seraphinianus",
> > > "kn" => "",
> > > "isbn" => "",
> > > ]
> > > );
> > >
> > > die "Error: ", $response->status_line, "\n"
> unless
> > $response->is_success;
> > >
> > > my $out_file = "result_seraph.html"; # where to
> save
> > it
> > > open(OUT, ">$out_file") || die "Can't
> write-open
> > $out_file: $!";
> > >
> > > binmode(OUT);
> > > print OUT $response->content;
> > > close(OUT);
> > > print "Bytes saved: ", -s $out_file, " in
> > $out_file\n";
> > >
> > >
> > > Below are the related html code from
> > abebooks.com.
> > >
> > >
> > > <form action="/servlet/SearchResults"
> method="post"
> > name="homepageSearch">
> > > <table cellpadding="3" cellspacing="0"
> width="100%"
> > border="0">
> > >
> > <tr>
> > >
> > <td class="attributeHeader"
> > align="right">Author:</td>
> > >
> > <td width="74%" align="left">
> > >
> > <input type="hidden" name="sts" value="t" />
> > >
> > <input type="text" name="an" size="40"
> tabindex="10"
> > title="Author Field: Enter the name of the author you
> are
> > searching for here"></td>
> > >
> > </tr>
> > >
> > <tr>
> > >
> > <td class="attributeHeader"
> > align="right">Title:</td>
> > >
> > <td align="left"><input type="text"
> name="tn"
> > size="40" tabindex="11" title="Title Field: Enter the
> title
> > of the book you are searching for
> here"></td>
> > >
> > </tr>
> > >
> > <tr>
> > >
> > <td class="attributeHeader"
> > align="right">Keyword:</td>
> > >
> > <td align="left"><input type="text"
> name="kn"
> > size="40" tabindex="12" title="Keyword Field: Enter
> keywords
> > related to the book you are searching for here (eg.
> Horror,
> > Spanish Language)"></td>
> > >
> > </tr>
> > >
> > <tr>
> > >
> > <td class="attributeHeader"
> align="right"><span
> > class="tip"><a href="/docs/what-is-an-isbn/"
> >
> onclick="window.open(this.href,'ISBN','height=400,width=380,location=no,toolbar=no,scrollbars=yes,resizable=yes');
> > return false">what's this?</a></span>
> > ISBN:</td>
> > >
> > <td align="left"><input type="text"
> name="isbn"
> > size="40" tabindex="13" title="ISBN Field: Enter the
> ISBN of
> > the book you are searching for here"></td>
> > >
> > </tr>
> > >
> > <tr>
> > >
> > 
> > <td>&nbsp;</td>
> > >
> > <td class="button" align="left">
> > >
> > <input type="image"
> > src="/images/Shared/findBook-large.gif" alt="FIND
> BOOK"
> > tabindex="14">
> > >
> > &nbsp;
> > >
> > <a href="/servlet/SearchEntry" tabindex="15"
> > title="More Search Options">More Search
> > Options</a>
> > </td>
> > >
> > </tr>
> > >
> > </table></form>
> > 
> > You must send the query to the URL in the 'action'
> > attribute of the
> > form element, not simply to the site root directory.
> > 
> > Rob
> > 
> 
> 
>

Reply via email to