Auslesen fremder Seiten
Marco
- perl
0 MS0 Bio0 Marco0 Bio0 Michael Schröpl
0 Frank Schönmann
Hallo
Ich habe ein wirklich komisches Problem.
Und zwar will ich mit diesem Script:
#!/usr/bin/perl
use LWP::Simple;
$doc = get 'http://www.swiss-entry.com;
print $doc, "\n";
den Inhalt einer fremden Seite anzeigen lassen. Leider kommt dabei immer ein "Internal Server Error" heraus.
Ich habe das Perl-Script auf http://www.netfirms.com/ gehostet.
Was könnte das Problem sein?
ich habe keine Ahnung
Ich habe das Programm mal bei mir ausgeführt und hier die
Fehlermeldung:
Can't locate LWP/Simple.pm in @INC (@INC contains: /usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503 /usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .) at test.pl line 3. BEGIN failed--compilation aborted at test.pl line 3.
Übrigens würde ich dir raten, vor irgend einer Print-Ausgabe ein
print "Content-type: text/html\n\n"; zu schreiben.
Gruss Martin
Hoi,
Ich habe das Programm mal bei mir ausgeführt und hier die
Fehlermeldung:
Can't locate LWP/Simple.pm in @INC (@INC contains:
/usr/lib/perl5/5.00503/i586-linux /usr/lib/perl5/5.00503
/usr/lib/perl5/site_perl/5.005/i586-linux /usr/lib/perl5/site_perl/5.005 .)
at test.pl line 3. BEGIN failed--compilation aborted at test.pl line 3.
Das heisst nur, dass du das Modul 'LWP::Simple' nicht installiert hast.
An Marcos Stelle wuerde ich mal ein 'use CGI::Carp qw/fatalsToBrowser/;'
versuchen; ist der Fehler ein Runtime-Fehler, so wird er angezeigt. Ist er
keiner, aber das Script laeuft daheim einwandfrei, dann ist wohl unter Umstaenden
das Modul nicht installiert. Ist denn die Datei auch korrekt im ASCII-Modus
uebertragen worden?
Gruesse aus dem schoenen LH,
c.j.k
Sup!
Was könnte das Problem sein?
ich habe keine Ahnung
Das Skript ist falsch ;-)
Kannst Du ins Error-Log sehen oder das Skript zuhause unter Unix ausprobieren?
Wenn nein -> schlecht!
Vielleicht würde auch perldoc LWP helfen.
Gruesse,
Bio
Kannst Du ins Error-Log sehen oder das Skript zuhause unter Unix ausprobieren?
Ich kann es zu Hause ausprobieren und da funktioniert es tadellos!!!
Genau das ist es ja, was mich stutzig macht. Etwas, dass bei mir geht, kann ja nicht einfach falsch sein.
Sup!
Genau das ist es ja, was mich stutzig macht. Etwas, dass bei mir geht, kann ja nicht einfach falsch sein.
Tja, vielleicht hat der Provider LWP::Simple gar nicht installiert?
(Die Leute machen ja nur Unsinn damit ;-) )
Gruesse,
Bio
Hi,
Ich kann es zu Hause ausprobieren und da funktioniert es tadellos!!!
Probierst Du es zuhause unter identischen Randbedingungen?
a) gleiches Betriebssystem?
b) gleicher Webserver (mit ggf. automatischer Erzeugung fehlender HTTP-Header)?
c) Gleicher Perl-Interpreter mit gleicher Ausbaustufe an Modulen?
Genau das ist es ja, was mich stutzig macht. Etwas, dass bei mir
geht, kann ja nicht einfach falsch sein.
Doch, natürlich. Nämlich dann, wenn Du Randbedingungen voraussetzt, die bei Dir zufällig existieren und anderswo nicht.
Ansonsten: Serverseitige Entwicklung ohne Zugriff auf ein error_log ist, äh - Zeitverschwendung.
Viele Grüße
Michael
hi!
$doc = get 'http://www.swiss-entry.com;
^ da fehlt ein '
Leider kommt dabei immer ein "Internal Server Error" heraus.
Obiges ist auf jeden Fall falsch. Hast du das Skript einfach nur hier
reinkopiert? Dann liegt es vielleicht daran. Ansonsten kann ein
"Internal Server Error" an allem möglichen liegen. Zum Beispiel daran,
dass du einen Syntax-Fehler hast, dass du keinen gültigen HTTP-Header
ausgibst, dass das Skript nicht ausführbar ist, dass das Modul, das
du verwenden willst, nicht installiert ist, ...
Aufschluss darüber, was wirklich nicht funktioniert, liefert dir nur
das Error-Log deines Providers. Oder die Methode, die Christian dir
genannt hat.
bye, Frank!