Verzeichnis öffnen Prob
Pitt
- perl
hi,
kann mir jemand sagen wo der fehler ist.
ich versuche ein verzeichnis zu öffnen, aber es geht nicht.
mein prog
-------------------------------------------------------------
#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
my @inhalt;
my $path = "http://bala"; # der pafd zu dem verzeichnis ist 100% richtig
opendir(DIR, $path) or die $!;
@inhalt = readdir(DIR);
closedir(DIR);
print "Content-type: text/html";
print <<ENDE;
<html>
<head>
<title>Test</title>
</head>
<body>
@inhalt
<body>
</html>
ENDE
----------------------------------------------------------
Es kommt immer die Fehlermeldung:
No such file or directory at ...
aber das verzeichnis ist richtig
danke im voraus
Halihallo Pitt
my $path = "http://bala"; # der pafd zu dem verzeichnis ist 100% richtig
Das ist kein Verzeichnis, sondern eine Ressource. Ressourcen kann man nicht über
opendir öffnen. Du möchtest einen FTP-Client oder LWP nutzen.
perldoc Net::FTP
perldoc lwpcook
aber das verzeichnis ist richtig
HTTP kennt keine Verzeichnisse.
Viele Grüsse
Philipp
Hook,
ich hab grad leider nicht die Möglichkeit das zu testen,
weil ich keine Module hier installieren kann. Aber was steht denn dann
in $doc drin, wenn ich das mache :
use LWP::Simple;
$doc = get 'http://www.google.de/';
Sind dann in $doc alle Dokumente von dem Verzeichnis auf dem Server, also eine
Art Glob -> <*>.
Das kann ja aber auch nicht sein, vor allem wenn man das Verzeichnislistening
via Apache oder htaccess verbietet.
hmm ?
cya
alligator
Halihallo alligator
ich hab grad leider nicht die Möglichkeit das zu testen,
weil ich keine Module hier installieren kann. Aber was steht denn dann
in $doc drin, wenn ich das mache :
use LWP::Simple;
$doc = get 'http://www.google.de/';
Dann hat du in $doc den Quelltext der Seite[1], die du zu gesicht bekommst, wenn du mit
einem Browser auf dieselbe URL zugreifst.
[1] mit grösster Wahrscheinlichkeit... s. z.B. cloaking.
Sind dann in $doc alle Dokumente von dem Verzeichnis auf dem Server, also eine
Art Glob -> <*>.
Nein.
Das kann ja aber auch nicht sein, vor allem wenn man das Verzeichnislistening
via Apache oder htaccess verbietet.
Genau. Es ist _unmöglich auf das Filesystem zuzugreifen_. Man sieht a) eine Abbildung
davon, wenn DirectoryListing aktiviert ist oder b) man muss über FTP auf den Server
zugreifen oder aber c) man verfolg alle Links, wie dies Suchmaschinen tun.
Eben:
perldoc lwpcook
perldoc Net::FTP
Viele Grüsse
Philipp
Hallo,
aha das dacht ich mir doch. Ich komme darauf, weil Pitts Frage ja
auf die Verzeichnisgeschichte rauslief, wie man ein Verzeichnislistening
macht. Und da bringt einen ja "perldoc lwpcook" nicht wirklich weiter oder
hab ich da was übersehen, was das Modul noch kann ?
cya
alligator
Halihallo alligato
aha das dacht ich mir doch. Ich komme darauf, weil Pitts Frage ja
auf die Verzeichnisgeschichte rauslief, wie man ein Verzeichnislistening
macht. Und da bringt einen ja "perldoc lwpcook" nicht wirklich weiter oder
hab ich da was übersehen, was das Modul noch kann ?
Diese Frage musst du dir selber beantworten :-)
Aber: Mit LWP kann man vieles machen, unter anderem gibt es auch einen FTP-wrapper,
fest steht, dass es für die ursprüngliche Frage wirklich nicht das gewünschte Ziel
erreicht. Ich habe nur auf lwpcook verwiesen, weil eben Punkt c) eine Möglichkeit
wäre und dieser liesse sich über lwpcook und HTML::Parser realisieren.
Also: Nein, das Modul kann nicht mehr als Ressourcen aus dem Internet (hoch-)laden. Da
Ressourcen keine Verzeichnisse sind, lassen sich Verzeichnisse über HTTP nicht
auslesen...
Viele Grüsse
Philipp
Moin Moin !
my $path = "http://bala"; # der pafd zu dem verzeichnis ist 100% richtig
Du hast in Deinem lokalen Dateisystem ein Verzeichnis namens http://bala ?
Auf was für einem System arbeitest Du?
Oder versuchst Du nicht vielmehr, PHP-Halbwissen auf Perl anzuwenden ?
Alexander