LWP::Simple get immer leer Problem
Masa
- perl
Hallo Selfhtmler ^^,
ich habe ein kleines Problem mit LWP::Simple.
Und zwar immer wenn ich get("http://google.de") aufrufe ist der rückgabewert immer leer, warum ? (egal welche url verwendet wird).
ich hatte Anfangs diese Fehlermeldung:
-bash-3.2$ perl -MLWP::Simple -e 'getprint "http://www.sn.no"'
Can't locate LWP/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
BEGIN failed--compilation aborted.
nach langem googeln habe ich rausgefunden das mann die LWP/Simple.pm einfach runterladen kann :
http://search.cpan.org/~gaas/libwww-perl-5.833/lib/LWP.pm
Nun werden bei der Ausführung alle Dateien gefunden (vorausgesetzt man ist in libwww-perl-5.833/lib/ so das der Pfad bzw die Datei ab diesem verzeichniss gefunden werden kann 'LWP/Simple.pm'.
Aber ich erhalte von den Prozeduren getprint sowie get einfach nichts zurück.
Auch ein von mir erstellter script gibt mir keine Anhaltspunkte zur Fehler suche:
-bash-3.2$ cat test.pl
#!/usr/bin/perl
use strict;
use warnings;
BEGIN {
push (@INC, "/home/xxxxx/libwww-perl-5.833/lib/");
}
my $url = 'http://google.de';
# Just an example: the URL for the most recent /Fresh Air/ show
use LWP::Simple;
my $content = get $url;
die "Couldn't get $url" unless defined $content;
# Then go do things with $content, like this:
print "\nCONTENT:$content\n";
-bash-3.2$ perl test.pl
CONTENT:
-bash-3.2$
hat jemand eine Idee woran das liegen kann ???
Bin für jeden Tipp dankbar!
Grüße masa
hat jemand eine Idee woran das liegen kann ???
Bei mir (WinXP) läuft das Skript einwandfrei.
Bin für jeden Tipp dankbar!
Versuch doch mal den Fehlerstatus rauszukriegen, dafür gibt es Methoden
http://search.cpan.org/dist/libwww-perl/lib/LWP/Simple.pm
Struppi.
hat jemand eine Idee woran das liegen kann ???
Bei mir (WinXP) läuft das Skript einwandfrei.
Bin für jeden Tipp dankbar!
Versuch doch mal den Fehlerstatus rauszukriegen, dafür gibt es Methoden
http://search.cpan.org/dist/libwww-perl/lib/LWP/Simple.pmStruppi.
Hallo Struppi,
danke für den hinweis mit dem Status.
Habe versucht über die Methoden is_success und is_error etwas mehr zu erfahren.
leider ohne erfolg.
Wenn du unter windows die getstore($url,$file) verwendest wird dann Datei mit dem html-inhalt gefüllt ???
#!/usr/bin/perl
use strict;
use warnings;
BEGIN {
push (@INC, "/home/xxx/libwww-perl-5.833/lib/");
}
my $status = getstore('http://www.google.de', "./stored.html");
print "is_success : " . is_success($status)."\n";
print "is_error : " . is_error($status)."\n";
print "STATUS:" .$status ." \n";
und das passiert wenn ich den script Aufrufe:
-bash-3.2$ perl test.pl
is_success : 1
is_error :
STATUS:200
-bash-3.2$ cat ./stored.html
-bash-3.2$
leider ist die stored.html leer !??
Mach ich was falsch??
nach langem googeln habe ich rausgefunden das mann die LWP/Simple.pm einfach runterladen kann :
http://search.cpan.org/~gaas/libwww-perl-5.833/lib/LWP.pm
Du hast Dir womöglich bei Deiner "manuellen" Installation etwas vermurkst. Nutze die CPAN Shell, respektive das ActiveState ppm Zeugs falls Du ActiveState verwendest.
Hallo Pragma,
Du hast Dir womöglich bei Deiner "manuellen" Installation etwas vermurkst. Nutze die CPAN Shell, respektive das ActiveState ppm Zeugs falls Du ActiveState verwendest.
;-) würd ich auch sagen das da irgendwas vermurkst ist.
also perl ist für mich neuland, kenne sonst php, c, c++ ...
ich habe einen ssh zugrif auf den Server wo der Apache lauft (linux), leider habe ich keinen root account. also ich kann nichts installieren, deshalb der versuch mit der "manuellen" installtation.
Danke für den Tipp mit der der CPAN Shell!
wie es aussieht habe ich keine rechte für die installation der Module.
-bash-3.2$ perl -MCPAN -e shell;
cpan[4]>install LWP::Simple
Running install for module 'LWP::Simple'
Running make for G/GA/GAAS/libwww-perl-5.833.tar.gz
Has already been unwrapped into directory /home/web1941/.cpan/build/libwww-perl-5.833-cPRqSy
Could not make: Unknown error
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Ich habe lediglich nur webspace bei dem Anbieter ... wunder das ich noch einen SSH zugang bekomme (leider eingeschränkt).
Werde versuchen diesen zu fragen wegen der installation.
ActiveState ist die windows geschichte ???
greez masa
Das LWP Zeugs hat einige dependencys, eine Installation mit den Dir verfügbaren Möglichkeiten könnte schmerzhaft werden. Da Du ja nur ein simples get machen möchtest, könntest Du Alternativen in Betracht ziehen:
a) Soweit auf dem Server das handliche "wget" installiert ist, nutze es und fange den Output ab.
b) Nutze vorhandene Module. Google brachte folgendes hervor:
http://markmail.org/message/ohcrcyyjk4qgitjs
Werde versuchen diesen zu fragen wegen der installation.
Das wäre auch eine Möglichkeit ;-)
ActiveState ist die windows geschichte ???
Ja!
Das LWP Zeugs hat einige dependencys, eine Installation mit den Dir verfügbaren Möglichkeiten könnte schmerzhaft werden. Da Du ja nur ein simples get machen möchtest, könntest Du Alternativen in Betracht ziehen:
a) Soweit auf dem Server das handliche "wget" installiert ist, nutze es und fange den Output ab.
Da hast du Recht man könnte mit dem wget auch das LWP::Simple::get realisieren, das ist kein problem.
Solange man nur das eine get möchte, man will aber natürlich immer mehr ^^
(will das Rapidshare Remoteupload/Resum Perl script zum laufen bekommen, die brauchen da glaube ich mehr wie das einziges LWP::Simple::get)
b) Nutze vorhandene Module. Google brachte folgendes hervor:
http://markmail.org/message/ohcrcyyjk4qgitjs
Cool, werde das an den Wochenenden Testen.
DANKE für den Link!!!
Werde versuchen diesen zu fragen wegen der installation.
Das wäre auch eine Möglichkeit ;-)
Habe bereits eine Anfrage erstellt (Ticket), mal sehen wie sich der neue Hoster anstellt, ich hoffe positiv für mich :-)
--------------------------
Was komisch ist ich bekomme mit dem LWP:Simple::getprint einen korrekten HTTP Code, also wenn ich misst als link angebe kommt 404 (not found), bei funktionierenden link z.B.: "http://google.de" code : 200 (OK), nur wird der inhalt der datei nicht rübergebracht, hoffentlich nicht die firewall des Anbieters?
naja ich warte mal den support ab, und berichte falls ich was neues habe.