use LWP::Simple
Mario
- perl
Hallo,
mit:
use LWP::Simple;
getstore("http://www.irgendwas.de/data.txt", "C:/data.txt");
kann ich mir ja eine Datei auf die Festplatte holen. Gibt's auch die umgekehrte Möglichkeit, also die Datei, nach Änderung, wieder zurück auf den Server zu spielen?
Danke
Mario
Hi,
use LWP::Simple;
getstore("http://www.irgendwas.de/data.txt", "C:/data.txt");kann ich mir ja eine Datei auf die Festplatte holen. Gibt's auch die umgekehrte Möglichkeit, also die Datei, nach Änderung, wieder zurück auf den Server zu spielen?
LWP::Simple macht nichts anderes als ein Browser auch. Jetzt überlege Dir also, wie ein Browser Daten uploaded: allenfalls per FTP. Also suche nach einem FTP-Modul - ein Account mit Passwort auf dem Zielrechner sind natürlich Bedingung.
IIRC gibt es da Net::FTP, mit dem die Aufgabe leicht zu erfüllen sein müßte.
Cheatah
Hallo,
IIRC gibt es da Net::FTP, mit dem die Aufgabe leicht zu erfüllen sein müßte.
das müßte dann so gehen:
#!/usr/bin/perl
use Net::FTP;
$user = "name";
$login = "passwort";
$dir = "/upload";
$host = "www.ftp.server.com";
$ftp = Net::FTP->new($host);
$ftp->login($name, $login);
$ftp->cwd($dir);
$ftp-> ascii(); # Ascii Modus
$ftp->put("c:\data.txt", "data.txt");
$ftp->quit();
Gruß
Stephan
Hi Stephan, einfach Klasse das Modul Net::FTP; #!
Jetzt dieses Script nur noch in ein CGI umschreiben, was nicht weiter schwierig sein dürfte, und schon erblickt ein neuer FTP-Client durch das Browserfenster das Licht der großen weiten InterNetWelt - waow!
So ein Teil schreib ich mir demnext, bloß: Wie soll er denn nun heißen der Gute, "FTP_B_X_rer" oder "Bro-FTP-rer" oder "B-FTP-X-rer" ich weis nicht, ich weis nicht. Vielleicht hat dieser oder jene einen Vorschlach? Explodierer vielleicht? Aber demnach müßte ja ein jeder Forscher Forscherer heißen (oder so_) ;-) Rolf
PS: Ich wünsche allen Anwälten viel Erfolg beim Erforschen des Internets! Womit ein jeder Anwalt ein *explorer* ist!
___QED___
Hallo,
Hi Stephan, einfach Klasse das Modul Net::FTP; #!
Jetzt dieses Script nur noch in ein CGI umschreiben, was nicht weiter schwierig sein dürfte, und schon erblickt ein neuer FTP-Client durch das Browserfenster das Licht der großen weiten InterNetWelt - waow!
So ein Teil schreib ich mir demnext, bloß: Wie soll er denn nun heißen der Gute, "FTP_B_X_rer" oder "Bro-FTP-rer" oder "B-FTP-X-rer" ich weis nicht, ich weis nicht. Vielleicht hat dieser oder jene einen Vorschlach? Explodierer vielleicht? Aber demnach müßte ja ein jeder Forscher Forscherer heißen (oder so_) ;-) Rolf
Stimmt eigentlich ...
ich hab das aus nem Buch ... nur die wichtigen Teile genommen *g*
Wenn du willst, kann ich dir auch noch mehr Beispiele, die da zu Net::FTP drin sind mailen‚
Wenn du deinen FTP Client fertig hast, melde dich mal bei mir :)
Stephan
Danke für die Tips!
Ich will das Script offline mit omnihttp und diese Routine dann zum upload nutzen. Das Problem ist jetzt, nachdem ich die Funktion integriert habe, lässt sich mein Script (offline) nicht mehr aufrufen (weißer Bildschirm). Sobald ich die Zeile use Net::FTP; rausnehme, funktioniert es wieder.
Woran kann's liegen?
Danke
Mario
Hi,
Das Problem ist jetzt, nachdem ich die Funktion integriert habe, lässt sich mein Script (offline) nicht mehr aufrufen (weißer Bildschirm). Sobald ich die Zeile use Net::FTP; rausnehme, funktioniert es wieder.
Woran kann's liegen?
ist das Modul bei Dir installiert? Test: perldoc Net::FTP aufrufen.
Cheatah
HI,
ist das Modul bei Dir installiert? Test: perldoc Net::FTP aufrufen.
Wie kann ich das testen? Sehe da nicht ganz durch, verwende ActivePerl. Wenn das Modul fehlt, woher bekommt man das?
Gruß
Mario
Hi,
ist das Modul bei Dir installiert? Test: perldoc Net::FTP aufrufen.
Wie kann ich das testen?
tippe "perldoc Net::FTP" bei Dir ein. Z.B. in einer DOS-Box oder in Start/Ausführen.
Sehe da nicht ganz durch, verwende ActivePerl. Wenn das Modul fehlt, woher bekommt man das?
Starte ppm in Deinem Perl-Verzeichnis.
Cheatah
Hi Mario,
Wie kann ich das testen? Sehe da nicht ganz durch, verwende ActivePerl. Wenn das Modul fehlt, woher bekommt man das?
Net::FTP scheint nicht Bestandteil der ActiveState-Installation sein. Bei mir ist es jedenfalls nicht dabei.
Was Du installiert hast kannst Du mit dem PPM testen. PPM starten und dann eingeben:
query [modulname]
Wenn keine Info kommt, dann ist es nicht installiert. Dann kannst Du prüfen, ob das Modul wenigstens Bestandteil Deiner Distribution ist, indem Du statt query search verwendest. z.B. brint "search net" bei mir folgendes:
C:\WINDOWS>ppm
PPM interactive shell (1.1.3) - type 'help' for available commands.
PPM> search net
Packages available from soap://www.activestate.com/cgibin/SOAP/ppmserver.plex?cl
ass=PPM::SOAPServer:
Net-Telnet [3.01] interact with TELNET port or other TCP ports
libnet [1.06] libnet is a collection of Perl modules which provides a
simple and consistent programming interface (API) to the
client side of various protocols used in the internet
community.
PPM>
Also kein Modul Net::FTP vorhanden.
Dies bedeutet, Du mußt Dir von hier
http://search.cpan.org/search?module=Net::FTP
das Modul holen und selbst installieren (benötigst dazu nMake.exe).
Gruß
Timothy