First, when a human enters data in a regular web
browser and then clicks Submit,
only one form will be submitted, the form that the
Submit button comes from.
Second, have you looked at WWW::Mechanize?
$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}}
split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/
| [reply] [d/l] |
A lot of sites use javascript to submit multiple forms. This allows all sorts of things, including creating hoops that make it harder to use a language like perl to spider a site.
Want to support the EFF and FSF by buying cool stuff? Click here.
| [reply] |
A lot of sites use javascript to submit multiple forms
Can you site an example of a site that does this?
(I'm not denying it -- I've seen all sorts of weird
things done with scripts that ought not to be possible.
I'm just curious how it's accomplished, given that
normally the submission of a form causes the browser
to stop executing the scripts on that page as it
goes on to fetch the new form-result page.)
This allows all sorts of things, including creating hoops that make it harder to use a language like perl to spider a site.
I suspect it's possible to get around this using
WWW::Mechanize and maybe Clone::PP,
but I'd have to see the details of what the scripts
on the site are doing.
$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}}
split//,".rekcah lreP rehtona tsuJ";$\=$ ;->();print$/
| [reply] [d/l] |
Check out HTML::Form from CPAN. All you really need to do is create 3 seperate submissions for each form. One form will be the form that the user sees the response from. Examine the javascript, use a Javascript Debugger like Mozilla's Venkman, and watch the Headers -- check out LiveHTTPHeaders for Mozilla.
Want to support the EFF and FSF by buying cool stuff? Click here.
| [reply] |