Thread Mozilla Cookies mit WWW::MECHANIZE verwenden (2 answers)
Opened by skontox at 2008-08-23 11:38

skontox
 2008-08-23 11:38
#113923 #113923
User since
2003-08-06
193 Artikel
BenutzerIn
[default_avatar]
Guten Morgen,
nach langer Perl-Abstinenz habe ich mich mal wieder an das gute alte Perl gewagt ;-)

Nun bin ich fast fertig und stehe vor einem Problem:
Ich würde gerne direkt auf die für Mozilla hinterlegten und gültigen Cookies von meinen Perl-Script aus zugreifen. Sprich ich mache einige Webanfragen mit dem Mozilla-Browser (Login usw.) und möchte dann am Ende mit Perl auf die aktuelle URL des Browsers zugreifen. Leider sind dort cookies aktiv und ich würde nicht auf die Seite gelangen sondern wieder beim Login. ;-)

Und selber möchte ich diesen Login-Prozess mit meinem Perl-Script nicht machen, es sei denn das was ich mir hier vorstelle kann nicht gelöst werden.

Also einiges habe ich da auch schon ausprobiert.

Ich weiß auch, das ab Version 3.0 des Firefox- Browsers die cookies in eine SQL-Lite-DB abgespeichert werden. Da habe ich mir auch schon was gebastelt um das auszulesen. Aber ich habe erstmal auf Firefox 2.0 gesetzt. Dort werden die Cookies ja irgendwo hier:
C:\Dokumente und Einstellungen\nifi\Anwendungsdaten\Mozilla\Firefox\Profiles\...\cookies.txt";
abgelegt.

Wie gesagt, herumgebastelt habe ich auch schon wie ein wilder, aber leider funktionierte das nie. Ich lande immer wieder auf der Login-Seite, obwohl ich im Browser mich mit der URL schon ganz woanders befinde, also hat das mit dem Zugriff auf den aktuellen Mozille-Cookies nicht funktioniert. ;-(

Ich habe da auch noch ein Perl-Modul ausprobiert, dass sich genauso wie meine Lösung anhörte "HTTP::Cookies::Mozilla", aber irgendwie hat das auch nicht funktioniert. Gefunden und installiert habe ich das von hier:

"ppm install http://ppm.tcool.org/archives510/HTTP-Cookies-Mozi..."


Was mir ausserdem auch noch aufgefallen ist, dass wenn ich in meinen Firefox-Browser gehen und mir dort die Cookies anzeigen lasse, stehen da für die gewünschte Seite mehr Einträge drinnen, als in dem per Editor geöffneten "cookie.txt" bzw. "cookie.sqlite". Werden eventuell noch woanders Cookies abgelegt? DOM-Cookies??? Keine Ahnung hatt ich irgendwo aufgeschnappt ;-)

Vielleicht kennst sich hier jemand damit ein wenig aus und könnte mir ein wenig Hilfestellung geben. Würde mich natürlich sehr freuen. ;-)

benutze ActivePerl v5.10.0
Module:WWW-MECHANIZE 1.34
Betriebsystem Windows XP SP2
verwendeter Mozilla-Firefox-Browser: Firefox 2.0 bzw. 3.0

hier mein letzten in meinen Augen vielversprechende Codefragmente:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/local/bin/perl

use strict;
use HTTP::Cookies;
#use HTTP::Cookies::Mozilla;
use WWW::Mechanize;
use Crypt::SSLeay;

#$HTTP::Cookies::Mozilla::SQLITE = '/path/to/sqlite3';

my $cookiefile = "C:\Dokumente und Einstellungen\nifi\Anwendungsdaten\Mozilla\Firefox\Profiles\t0nmt4mb.default\cookies.txt";
#my $cookiefile = "C:\Dokumente und Einstellungen\nifi\Anwendungsdaten\Mozilla\Firefox\Profiles\t0nmt4mb.default\cookies.sqlite"; #Firefox ab Version 3

#my $cookie_jar = HTTP::Cookies::Mozilla->new;
my $cookie_jar = HTTP::Cookies->new(File => $cookiefile, autosave =>1);
...


Herzlichen Dank!
Gruß skontox

View full thread Mozilla Cookies mit WWW::MECHANIZE verwenden