User since
2003-08-04
7321
Artikel
ModeratorIn
Hi.
Ich würde gerne einen HTTP POST abschicken. Bevor ich dies jedoch tun kann, muss ich verschiedene Hidden-Fields setzen.
Wenn ich mir die Seite mit GET anschaue, enthält die Form schon vorgefüllte Werte, unter anderem auch Request-ID's die auf dem Server erzeugt werden und unique sind - heißt, wenn ich F5 drücke, ist die ID anders.
Also benutze erstmal HTML Seite laden und dann muss die form geparst werden, um die ID zu erhalten...
wie mach ich das am Besten? Fertige Module sind mir lieb!
User since
2003-08-04
1706
Artikel
HausmeisterIn
So?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/perl
use strict;
use warnings;
use HTML::Parser;
my $re_id = '';
my $html = qq~
<p align="center">
<a href="http://www.no-obstacle.de">No Obstacle</a>
<input type="hidden" name="REQUEST-ID" value="eine ID" />
</p>
</html>
~;
my $p = HTML::Parser->new(api_version => 3,
start_h => [\&start_handler,"tagname,attr,self"])->parse($html);
sub start_handler {
my ($tag,$attr,$self) = @_;
return unless $tag eq 'input';
return unless lc $attr->{type} eq 'hidden' && $attr->{name} eq 'REQUEST-ID';
$re_id = $attr->{value};
$self->eof;
}
print $re_id,"\n";
Gruß Alex\n\n
<!--EDIT|format_c|1082057068-->
User since
2003-08-04
7321
Artikel
ModeratorIn
Danke.
Habe aber gerade gesehen, dass HTML::Form mein Freund ist!
User since
2003-08-04
5246
Artikel
ModeratorIn
vielleicht waere jetzt ein guter Zeitpunkt, dir
WWW::Mechanize::Shell anzuschauen, das muesste dir viel Arbeit abnehmen, und darueber ein kurzes Tutorial zu schreiben, weil ich es mir schon lange mal anschauen will (der Autor wohnt naemlich nur ein paar Haeuser weiter...) ;-)\n\n
<!--EDIT|Strat|1082103447-->