Datei über das HTT-Protokol lesen (CGI)
Stefan Bach
Hallo!
Wie kann ich mit CGI (genauer: Perl) eine Datei über HTTP lesen? Genüht es beim öffnen "<http://irgendwas.com/düdeldü" anzugeben?
Gruß
Stefan
Hallo!
Wie kann ich mit CGI (genauer: Perl) eine Datei über HTTP lesen? Genüht es beim öffnen "<http://irgendwas.com/düdeldü" anzugeben?
Gruß
Stefan
Hallo Stefan,
Falls sich die Datei auf einem fremden Rechner befindet,
kann dies prinzipiell nur funktionieren, wenn auf diesem ein
Webserver laeuft - also eher nicht.
Dateien auf dem Rechner, auf dem auch das Perl-Skript laufen
soll, lassen sich dagegen einfach direkt durch den Pfad ansprechen
Um nun Dateien von entfernten Rechnern trotzdem bearbeiten zu koennen,
laesst man sie sich am besten via File-Upload schicken:
<form method="post" enctype="multipart/form-data" action="http://myHost/cgi-bin/myCgi.xxx">
...
<input type="file" name="uploadFile">
...
</form>
In Perl gibt es bereits Standard-Funktionen (in CGI.pm ?!), die auch
das 'multipart/form-data' Fomat einlesen koennen.
Diese Datei kann man dann lokal zwischenspeichern und bearbeiten.
Gruesse,
Andreas
Hallo Stefan
Wie kann ich mit CGI (genauer: Perl) eine Datei über HTTP lesen? Genüht es beim öffnen "<http://irgendwas.com/düdeldü" anzugeben?
Nein. Die open-Funktion liest Dateien auf Betriebssystemebene - ohne Internet-Protokoll. Deshalb funktioniert das Lesen mit open() nur von Orten, die fuer das Server-Betriebssystem lokal erreichbar sind (eigenes Laufwerk, Netzwlaufwerke, gemountete Laufwerke und so was).
Um Daten von einem anderen Server zu empfangen, musst Du eine Internetverbindung zu dem Server aufbauen. Dazu gibt es in Perl Funktionen - gethostbyaddr(), gethostbyname() usw. Die sind alle in der Perl-Funktionsreferenz dokumentiert, die beim Perl-Interpreter im Unterverzeichnis docs in der Datei perlfunc.html aufgelistet sind.
Viele Gruesse
Stefan Muenz
Um Daten von einem anderen Server zu empfangen, musst Du eine Internetverbindung zu dem Server aufbauen. Dazu gibt es in Perl Funktionen - gethostbyaddr(), gethostbyname() usw. Die sind alle in der Perl-Funktionsreferenz dokumentiert, die beim Perl-Interpreter im Unterverzeichnis docs in der Datei perlfunc.html aufgelistet sind.
Viele Gruesse
Stefan Muenz
Hallo Stefan!
Die Dokumentation hat mir leider nicht weitergeholfen. Hast du ein konkretes Beispiel oder weißt du, wo soetwas in deutsch dokumentiert ist?
Gruß
Stefan