Hallo,
ich versuche das Formular auf der Website
http://211.157.104.77:8080/sipo_EN/search/tabSearc... automatisch auszufüllen und abzuschicken. Leider funktioniert das Abschicken nicht, wie kann ich das ermöglichen?
Die Website schickt ihr Formular mittels einer Javascript-funktion doSearch() ab.
Ich habe schon mehrere Module (WWW::Scripter, WWW::Mechanize, LWP) versucht, ohne weiter zu kommen.
Die Seite vergibt sporadisch eine JSessionid, und bei action steht z.B. der Link action="/sipo_EN/search/tabSearch.do;jsessionid=4D2CCE49CEE65AFB0594976E2A19FF9E" .
Wäre für jede Idee dankbar.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!d:\perl\bin\perl.exe -w
use CGI qw(:standard);
use CGI::Carp 'fatalsToBrowser';
use HTTP::Request::Common;
use HTTP::Cookies;
use HTTP::Headers;
use LWP;
use WWW::Mechanize;
print "Content-type: html; charset=UTF-8\n\n" ;
$proxy = 'http://localhost:5865';
$Skript = "http:\/\/$ENV{SERVER_NAME}$ENV{SCRIPT_NAME}";
$Server = "http:\/\/$ENV{SERVER_NAME}";
my $browser = WWW::Mechanize->new();
$browser->agent('Mozilla/5.0');
$browser->proxy(['https', 'http', 'ftp'], $proxy);
$ENV{HTTPS_PROXY} = $proxy;
$cookie_jar = new HTTP::Cookies();
$browser->cookie_jar($cookie_jar); #
$browser->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727)');
$browser->timeout(1200);
$browser->get("http://211.157.104.77:8080/sipo_EN/search/tabSearch.do?method=init"); #laedt Seitequelltext herunter
$page = $browser -> content;
$jplatpatSession="";
if($page =~ /(jsessionid=[A-Z0-9]*)\">/si){$jplatpatSession = $1}
$base = "http://211.157.104.77:8080/sipo_EN/search/tabSearch.do;";
$browser->post($base.$jplatpatSession);
$browser->form_number(1);
$browser->field("a", "103085931");
$browser->click(); #macht nichts? absenden?
Fehlermeldung: Error POSTing
http://211.157.104.77:8080/sipo_EN/search/tabSearc... Bad Gateway at line 37
Last edited: 2017-05-08 11:45:49 +0200 (CEST)