Net::FTP
Net::FTP
#!/usr/bin/perl -w
use Net::FTP;
$ftp = Net::FTP->new("ftp.geocities.com", debug => 1);
$ftp ->login("username",'passwort@ftp.geocities.com');
$ftp ->binary;
$ftp ->put("./xxxxxx"); ### das klappt nicht ich will doch nur eine datei auf den ftp sever hochladen
$ftp ->quit;
kann mir jemand helfen
danke
use Net::FTP;
$ftp = Net::FTP->new("ftp.geocities.com", debug => 1);
$ftp ->login("username",'passwort@ftp.geocities.com');
$ftp ->binary;
$ftp ->put("./xxxxxx"); ### das klappt nicht ich will doch nur eine datei auf den ftp sever hochladen
$ftp ->quit;
kann mir jemand helfen
danke
Re: Net::FTP
es waere eine saubere sache gewesen, wenn du deinen Net::FTP-Thread in einem behalten haettest, dann haettest du naemlich auch alle antworten in einer uebersicht.
Also hier noch mal:
-perldoc Net::FTP *lesen!!!*
und wenn die Erfahrung noch fehlt:
-manuell ausprobieren, was automatisiert funktionieren soll.
Bist gar nicht so weit vom Ziel entfernt, also, streng dich noch ein bisschen an und lass dir nicht alles vorkauen.
Das scheint nicht besonders nett zu sein, aber du willst doch was lernen, nicht wahr?
ratte
Also hier noch mal:
-perldoc Net::FTP *lesen!!!*
und wenn die Erfahrung noch fehlt:
-manuell ausprobieren, was automatisiert funktionieren soll.
Bist gar nicht so weit vom Ziel entfernt, also, streng dich noch ein bisschen an und lass dir nicht alles vorkauen.
Das scheint nicht besonders nett zu sein, aber du willst doch was lernen, nicht wahr?
ratte
Re: Net::FTP
$SERVER=ftp.wasweissich.de
$SERVER_PASS=STrenggeheim
use Net::FTP ();
sub ftp_UP {
my $ftp_server;
$ftp_server = Net::FTP->new($SERVER, Debug => 0);
$ftp_server->login("$USERNAME","$SERVER_PASS");
$ftp_server->ascii;
$ftp_server->put("$homepage");
$ftp_server->quit;
}
$homepage ist in diesem Fall die Datei die hochgeladen wird. Ich seh jetzt nicht was du falsch hast, ist schon fast nen jahr her, dass ich perl gesehen habe, aber dieses skript (bei www.osiris.de komplett) funktioniert!
gruss hug.
$SERVER_PASS=STrenggeheim
use Net::FTP ();
sub ftp_UP {
my $ftp_server;
$ftp_server = Net::FTP->new($SERVER, Debug => 0);
$ftp_server->login("$USERNAME","$SERVER_PASS");
$ftp_server->ascii;
$ftp_server->put("$homepage");
$ftp_server->quit;
}
$homepage ist in diesem Fall die Datei die hochgeladen wird. Ich seh jetzt nicht was du falsch hast, ist schon fast nen jahr her, dass ich perl gesehen habe, aber dieses skript (bei www.osiris.de komplett) funktioniert!
gruss hug.
Re: Net::FTP
ja, habe ja in der doc nachgelesen aber da steht nicht mehr drin !
und was ich nicht verstehe er gibt auch nur sone komische fehlermeldung aus, das er die Datei nicht öfnen konnte!
(Cannot openLocal file /pfad/dateiame datei oder verzeicnis nicht gefunden)
aber die datei ist da !!! und der fpad stimmt auch !
und was ich nicht verstehe er gibt auch nur sone komische fehlermeldung aus, das er die Datei nicht öfnen konnte!
(Cannot openLocal file /pfad/dateiame datei oder verzeicnis nicht gefunden)
aber die datei ist da !!! und der fpad stimmt auch !
Re: Net::FTP
absoluten pfad angegeben?
perl hat doch nen debug-modus, mit dem man zeile für zeile testen kann, was passiert. Das würd ich mal ausprobieren.
perl hat doch nen debug-modus, mit dem man zeile für zeile testen kann, was passiert. Das würd ich mal ausprobieren.
Re: Net::FTP
Ist der Debug Modus nicht so ?=> debug => 1);
und ich habe es auch mit dem absolutem pfad versucht das macht er ja auch nicht aber wen ich das ganze mit dem ftp befehl(progr.) mache klappt es doch !!!Ich habe es genaus so versucht wie es in der doc steht und auch noch einige andere "versionen" und rumprobiert aber es klapt irgendwie nicht !
und ich habe es auch mit dem absolutem pfad versucht das macht er ja auch nicht aber wen ich das ganze mit dem ftp befehl(progr.) mache klappt es doch !!!Ich habe es genaus so versucht wie es in der doc steht und auch noch einige andere "versionen" und rumprobiert aber es klapt irgendwie nicht !
Re: Net::FTP
hast du $ftp also das Objekt deklariert (hoffe das heisst so, bin etwas draussen, muss ich gestehen)?
ruf Net::FTP mal mit () auf.
und ansonsten: gewöhn dir etwas interpunktion an, ich versteh kein wort. Copy&paste mal meinen vorschlag, vielleicht ist ja doch nen vertipper irgendwo.
ruf Net::FTP mal mit () auf.
und ansonsten: gewöhn dir etwas interpunktion an, ich versteh kein wort. Copy&paste mal meinen vorschlag, vielleicht ist ja doch nen vertipper irgendwo.
Re: Net::FTP
>das er die Datei nicht öfnen konnte
das fuehrt uns zu linux-regeln, poste mal die die rechte fuer die herkunftsdatei (lokal):
ls -l <herkunftsdatei>
trotzdem bin ich aber der Meinung, dass das Problem bei der Zieldatei liegt!!
Haste schon von hand gemacht, was das sript machen soll?
ratte
das fuehrt uns zu linux-regeln, poste mal die die rechte fuer die herkunftsdatei (lokal):
ls -l <herkunftsdatei>
trotzdem bin ich aber der Meinung, dass das Problem bei der Zieldatei liegt!!
Haste schon von hand gemacht, was das sript machen soll?
ratte
Re: Net::FTP
-rwxr-xr-x 1 mimo root 406 Jun 8 08:08 index.html
Re: Net::FTP
mannomann, statt naseweise ratschlaege zu geben, habe ich mir nun zeit genommen, Net::FTP selbst zu testen.
hier das Ergebnis:
---schnipp---
#!/usr/local/bin/perl -w #der schalter w gibt perlwarnungen an die konsole aus
sub ftp_UP {
$ftp_server = Net::FTP->new("$SERVER", Debug => 1); # debug=1 gibt debugmeldungen an die konsole aus
$ftp_server->login("$USERNAME",'$SERVER_PASS');
$ftp_server->ascii;
$ftp_server->cwd("incoming"); # fuer ftp uebliches directory, in dem man schreiben darf
$ftp_server->put("./homepage"); # mit pfadangabe
$ftp_server->quit;
}
use Net::FTP;
$SERVER="192.168.1.1";
$USERNAME="ftp";
$SERVER_PASS="ftp";
ftp_UP;
---schnapp---
dieses script hat bei mir funktioniert und besonders die debugmeldungen von Net::FTP waren hilfreich beim testen.
ratte
hier das Ergebnis:
---schnipp---
#!/usr/local/bin/perl -w #der schalter w gibt perlwarnungen an die konsole aus
sub ftp_UP {
$ftp_server = Net::FTP->new("$SERVER", Debug => 1); # debug=1 gibt debugmeldungen an die konsole aus
$ftp_server->login("$USERNAME",'$SERVER_PASS');
$ftp_server->ascii;
$ftp_server->cwd("incoming"); # fuer ftp uebliches directory, in dem man schreiben darf
$ftp_server->put("./homepage"); # mit pfadangabe
$ftp_server->quit;
}
use Net::FTP;
$SERVER="192.168.1.1";
$USERNAME="ftp";
$SERVER_PASS="ftp";
ftp_UP;
---schnapp---
dieses script hat bei mir funktioniert und besonders die debugmeldungen von Net::FTP waren hilfreich beim testen.
ratte
Re: Net::FTP
Danke Dir Ratte hat gefunst!!!! *freu*
Re: Net::FTP
na siehste, ich hab' auch nur gemacht, was ich dir vorgeschlagen habe:
perldoc Net::FTP
und naja, dass Debug=>0 nicht in Stein gemeisselt ist und den Debuglevel beschreibt, kannte ich schon aus Erfahrung...
...aber so ist das beim Lernen einer neuen Programmiersprache, was man abschreibt, sollte man versuchen zu verstehen, zumindest, wenn's nicht funktioniert.
Freut mich jedenfalls, dass es nun bei dir funzt.
Wo kann man es bewundern?
ratte
perldoc Net::FTP
und naja, dass Debug=>0 nicht in Stein gemeisselt ist und den Debuglevel beschreibt, kannte ich schon aus Erfahrung...
...aber so ist das beim Lernen einer neuen Programmiersprache, was man abschreibt, sollte man versuchen zu verstehen, zumindest, wenn's nicht funktioniert.
Freut mich jedenfalls, dass es nun bei dir funzt.
Wo kann man es bewundern?
ratte
Re: Net::FTP
ja,
ich habe es erst ohne die variablen $benutzer usw gemacht und das wollte er nicht !
jetzt sieht es so aus !
#!/usr/bin/perl
ANFANG: # Sprungbefehl
$off = '192.168.0.99';
$interface = "ippp0";
$shb = `/sbin/ifconfig $interface`;
@zeilen = split(/
/,$shb);
foreach $zeile (@zeilen) {
if ($zeile =~ /inet addr:([^ ]+)/) {
$ip = $1;
}
}
# print "Die IP Adresse des ippp0 = \"$ip\"
";
# if ($ip != $off) {print "online
";}
# else {print "offline
";}
if ($ip != $off) {goto WEITER;}
else {goto ANFANG;}
WEITER: # Sprungbefehl
open(CLEAR," clear |");
print<CLEAR>;
close(CLEAR);
print "
";
print "Die IP Adresse des ippp0 = \"$ip\"
";
########################################
# print "$ip
";### ausgabe original!!!#
########################################
# was in die Datei geschrieben wird #
########################################
open(SCHREIBEN,"> index.html");
print SCHREIBEN "<html>
";
print SCHREIBEN "<head>
";
print SCHREIBEN "<title>TERRABYTE</title>
";
print SCHREIBEN "<META content=\"text/html";
print SCHREIBEN "<META name\=\"Keywords\" content\=Cracks, Hacks,Linux>
";
print SCHREIBEN "</head>
";
print SCHREIBEN "<body bgcolor\=\"#0000000\" text\=\"#cccccc\">
";
print SCHREIBEN "<h1><p align\=\"center\">Terrabyte</p></h1>
";
print SCHREIBEN "<div align\=\"center\"><iframe src\=\"disclaimer.htm\"
width\=920
height\=450
align\=\"center\" hspace\=30 vspace\=20 frameborder\=no
scrolling\=no name\=\"Fenster\">
";
print SCHREIBEN "Leider unterstützt dein Browser keine iFrames!
";
print SCHREIBEN "</iframe>
";
print SCHREIBEN "<p align\=\"center\"<font color\=\"#ffffff\"><a
href=\"http://$ip\">Enter</a>
";
close(SCHREIBEN);
print "
";
print "Schreibe IP Adresse \"$ip\" in Datei \"index.html\"!
";
#####################################################
# Das die index.html wird jetzt auf den ftp geladen #
#####################################################
print "
";
print "Aktualiesiere geänderte Werte!
";
print "
";
sleep(3);
use Net::FTP;
$server="ftp.geocities.com";
$username="terrabytede";
$passwort="nein";
$datei="index.html";
$ftp = Net::FTP->new($server, debug => 1) || die "keine Verbindung mit
$server.
";
$ftp ->login($username, $passwort) || die "Fehler beim einloggen.
";
$ftp ->put($datei) || die "Fehler beim hochladen der Datei.
";
$ftp ->quit() || die "Fehler beim ausloggen von $server.
";
# goto ANFANG;
ich habe es erst ohne die variablen $benutzer usw gemacht und das wollte er nicht !
jetzt sieht es so aus !
#!/usr/bin/perl
ANFANG: # Sprungbefehl
$off = '192.168.0.99';
$interface = "ippp0";
$shb = `/sbin/ifconfig $interface`;
@zeilen = split(/
/,$shb);
foreach $zeile (@zeilen) {
if ($zeile =~ /inet addr:([^ ]+)/) {
$ip = $1;
}
}
# print "Die IP Adresse des ippp0 = \"$ip\"
";
# if ($ip != $off) {print "online
";}
# else {print "offline
";}
if ($ip != $off) {goto WEITER;}
else {goto ANFANG;}
WEITER: # Sprungbefehl
open(CLEAR," clear |");
print<CLEAR>;
close(CLEAR);
print "
";
print "Die IP Adresse des ippp0 = \"$ip\"
";
########################################
# print "$ip
";### ausgabe original!!!#
########################################
# was in die Datei geschrieben wird #
########################################
open(SCHREIBEN,"> index.html");
print SCHREIBEN "<html>
";
print SCHREIBEN "<head>
";
print SCHREIBEN "<title>TERRABYTE</title>
";
print SCHREIBEN "<META content=\"text/html";
print SCHREIBEN "<META name\=\"Keywords\" content\=Cracks, Hacks,Linux>
";
print SCHREIBEN "</head>
";
print SCHREIBEN "<body bgcolor\=\"#0000000\" text\=\"#cccccc\">
";
print SCHREIBEN "<h1><p align\=\"center\">Terrabyte</p></h1>
";
print SCHREIBEN "<div align\=\"center\"><iframe src\=\"disclaimer.htm\"
width\=920
height\=450
align\=\"center\" hspace\=30 vspace\=20 frameborder\=no
scrolling\=no name\=\"Fenster\">
";
print SCHREIBEN "Leider unterstützt dein Browser keine iFrames!
";
print SCHREIBEN "</iframe>
";
print SCHREIBEN "<p align\=\"center\"<font color\=\"#ffffff\"><a
href=\"http://$ip\">Enter</a>
";
close(SCHREIBEN);
print "
";
print "Schreibe IP Adresse \"$ip\" in Datei \"index.html\"!
";
#####################################################
# Das die index.html wird jetzt auf den ftp geladen #
#####################################################
print "
";
print "Aktualiesiere geänderte Werte!
";
print "
";
sleep(3);
use Net::FTP;
$server="ftp.geocities.com";
$username="terrabytede";
$passwort="nein";
$datei="index.html";
$ftp = Net::FTP->new($server, debug => 1) || die "keine Verbindung mit
$server.
";
$ftp ->login($username, $passwort) || die "Fehler beim einloggen.
";
$ftp ->put($datei) || die "Fehler beim hochladen der Datei.
";
$ftp ->quit() || die "Fehler beim ausloggen von $server.
";
# goto ANFANG;
Re: Net::FTP
fein, und mit 'open' und mit $||@ARGV kannste dein Script mit Parameter(n) aufrufen und andere Files einlesen, damit dein script clean und universell wird.
viel Spass
ratte
viel Spass
ratte