Hi zusammen,
eingentlich dachte ich die Seite habe ich ein paar Minuten geparsed, aber leider ist das alles anderes als einfach.
Mein Problem ist, dass diese Seite in einem Cookie eine SessionID nutzt und Daten per POST method versendet.
Ein Netzwerkmonitor zeigt mir folgende HeaderFile an, wenn ich die Abfrage über einen normalen Browser starte:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: JSESSIONID=F6949130615CC576624941351706C20B
Content-Type: application/x-www-form-urlencoded
Content-Length: 287
j_id_jsp_1095591257_1=j_id_jsp_1095591257_1&j_id_jsp_1095591257_1%3Apflegeart=1000&j_id_jsp_1095591257_1%3ApLZ=55425&j_id_jsp_1095591257_1%3Aentfernung=0&j_id_jsp_1095591257_1%3Aort=&j_id_jsp_1095591257_1%3Aj_id_jsp_1095591257_49=Suche+starten&javax.faces.ViewState=j_id12171%3Aj_id12172
Also habe ich mich erst einmal die SessionID geschnappt und weitesgehend den Header ergänzt. Leider bekomme ich immer wieder das Feedback "Session abgelaufen" ...nun frage ich mich, wie ich das TE und Connection aus dem Header löschen kann. ...oder liegt es evtl an einem ganz anderen Fehler?
Über einen kleinen Denkanstoß bin ich dankbar.
Hier meine Daten:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
sub establishConnection {
my ($url) = @_;
# configure script to handle cookies
my $cookie_jar = HTTP::Cookies->new();
my $request = HTTP::Request->new('GET', $url);
my $ua = LWP::UserAgent->new();
$ua->cookie_jar($cookie_jar);
my $response = $ua->request($request);
my $test = $cookie_jar->as_string;
$test =~ /.*JSESSIONID=(.*?);/;
my $sessionid = "JSESSIONID=".$1;
# enable connection with sessionid
my $browser = LWP::UserAgent->new(keep_alive => 1);
# add cookie
#$browser->cookie_jar($cookie_jar);
$browser->default_header('User-Agent' => 'Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
$browser->timeout(100);
$browser->default_header('Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
$browser->default_header('Accept-Language' => 'en-gb,en;q=0.5');
$browser->default_header('Accept-Encoding' => 'gzip,deflate');
$browser->default_header('Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7');
$browser->default_header('Keep-Alive' => '300');
$browser->default_header('Connection' => 'keep-alive');
$browser->default_header('Cookie' => $sessionid);
$browser->default_header('Content-Type' => 'application/x-www-form-urlencoded');
$browser->default_header('Content-Length' => '288');
my $response2 = $browser->post(
$search,
[
'j_id_jsp_1095591257_1' => 'j_id_jsp_1095591257_1',
'j_id_jsp_1095591257_1:pflegeart' => '1000',
'j_id_jsp_1095591257_1:pLZ' => '55425' ,
'j_id_jsp_1095591257_1:entfernung' => '20',
'j_id_jsp_1095591257_1:ort' => '',
'j_id_jsp_1095591257_1:j_id_jsp_1095591257_49' => 'Suche+starten',
'javax.faces.ViewState' => 'j_id10035:j_id10037',
]
);
print $response2->content();
}
[code]
TE: deflate,gzip;q=0.3
Keep-Alive: 300
Connection: Keep-Alive, keep-alive, TE
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Accept-Encoding: gzip,deflate
Accept-Language: en-gb,en;q=0.5
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
Content-Length: 290
Content-Type: application/x-www-form-urlencoded
Cookie: JSESSIONID=CE5B80F67DD2C35EAC180FCD6E84D4D5
Keep-Alive: 300
j_id_jsp_1095591257_1=j_id_jsp_1095591257_1&j_id_jsp_1095591257_1%3Apflegeart=1000&j_id_jsp_1095591257_1%3ApLZ=55425&j_id_jsp_1095591257_1%3Aentfernung=20&j_id_jsp_1095591257_1%3Aort=&j_id_jsp_1095591257_1%3Aj_id_jsp_1095591257_49=Suche%2Bstarten&javax.faces.ViewState=j_id10035%3Aj_id10037