Thorsten Steffen: ftp-transfer per perl-script auf einem Webserver, ist das möglich ?

Hi,
ich habe meine Webseite bei einem Provider liegen und möchte dort ein html-Formular ablegen, welches mit Daten gefüllt werden kann und dann per ftp auf einen anderen Server kopiert werden soll (damit ich den möglichen Verzögerungszeiten per email aus dem Weg gehe).
Ist das mit einem perl-script möglich ? Wenn ja, wie ? Muß mein Provider das auch unterstützen ?

Gruß und Danke
Thorsten

  1. Hallo,

    ich habe meine Webseite bei einem Provider liegen und möchte dort ein html-Formular ablegen, welches mit Daten gefüllt werden kann und dann per ftp auf einen anderen Server kopiert werden soll (damit ich den möglichen Verzögerungszeiten per email aus dem Weg gehe).
    Ist das mit einem perl-script möglich ? Wenn ja, wie ? Muß mein Provider das auch unterstützen ?

    Prinzipell geht das, Du musst erst ein Upload machen, damit die Datei auf den Server kommt und dann im PERL Script das Modul Net::FTP verwenden um die Datei woanders hinzubefördern. Schau mal ins http://i-netlab.de da gibt es dazu Lösungsansätze. Providerseitig muss also das o.g. Modul installiert sein.

    Viele Grüße, Rolf

    1. Hi!

      Prinzipell geht das, Du musst erst ein Upload machen, damit die Datei auf den Server kommt und dann im PERL Script das Modul Net::FTP verwenden um die Datei woanders hinzubefördern.

      Alternativ kann man auch die LWP-Module verwenden. Die greifen intern zwar auch nur auf die Net::FTP-Routinen zu (dieses muss also trotzdem installiert sein), bieten aber ein etwas vereinfachtes Interface im HTTP-Style. Ich habe es selbst noch nie gemacht, aber ungefaehr so muesste es gehen:

      Create a user agent object

      use LWP::UserAgent;
      $ua = new LWP::UserAgent;
      $ua->agent("AgentName/0.1 " . $ua->agent);

      Create a request

      $req = HTTP::Request->new('PUT' => 'ftp://me:passwd@ftp.some.where.com/file-to.upload');
      $req->content('Inhalt der Datei, der vorher eingelesen werden muss');

      Pass request to the user agent and get a response back

      $res = $ua->request($req);

      Check the outcome of the response

      print $res->status_line(), "\n";
      print $res->as_string(), "\n";

      HTH && So long