FTP-Dowload
Hi,
ich möchte eine Datei automatisch per Batch von meinem Server downloaden.
Das verzeichniss ist mit einer .htaccess datei geschütz.
Hab schon einige Beispiele aus dem Internet getestet, jedoch ohne Erfolg
Kann mir vielleicht jemand ein .ftp skript zeigen, dass die Datei holen kann.
Danke für eure Hilfe
Gruß
?123
ich möchte eine Datei automatisch per Batch von meinem Server downloaden.
Das verzeichniss ist mit einer .htaccess datei geschütz.
Hab schon einige Beispiele aus dem Internet getestet, jedoch ohne Erfolg
Kann mir vielleicht jemand ein .ftp skript zeigen, dass die Datei holen kann.
Danke für eure Hilfe
Gruß
?123
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 255727
Url: https://administrator.de/contentid/255727
Ausgedruckt am: 14.11.2024 um 13:11 Uhr
21 Kommentare
Neuester Kommentar
Probier es mal ohne das "http://www.", also nur "xxxxx.de". Du versuchst ja eine FTP-Verbindung aufzubauen, keine HTTP.
Hoffe du kannst was damit anfangen... hab das Gefühl, dass des mit htacces nicht funktioniert.
htaccess wird nur von Webservern gelesen und verarbeitet. Wichtig ist aber, dass du beim FTP-Verbindungsaufbau die FTP-Zugangsdaten angibst, nicht die Daten aus der htaccess.
Gruß
Das ist keine ftp-URI wenn du über http Dateien holen willst, mußt Du einen http-Client wie z.B. wget nehmen. Oder falls Du wirklich per ftp Datein üebrtragen willst, mußt Du auch den ftp-service nutzen.
lks
Zitat von @Fragezeichen123:
Hey,
Warum muss ich mein Passwort eingeben, wenn ich im Browser auch ohne da hin komm?
(htacces hat ein anderes PW)
Hey,
Warum muss ich mein Passwort eingeben, wenn ich im Browser auch ohne da hin komm?
(htacces hat ein anderes PW)
Da musst du differenzieren.
Möchtest du dich per FTP verbinden, sind die FTP-Zugangsdaten erforderlich.
Möchtest du dich per HTTP verbinden, sind, falls hinterlegt, die htaccess-Zugangsdaten erforderlich. Hast du in der htacess keine Zugangsdaten hinterlegt, wird auch nichts abgefragt.
wget.exe --http-user=user --http-password=password --directory-prefix=zieldirectory http://www.xxxxxxxxxxxx.de/Security/Updates/123.bat
lks
Weil wget eine Zusatzanwendung ist...
http://gnuwin32.sourceforge.net/packages/wget.htm
Du musst den Aufruf natürlich in dem Verzeichnis starten, in dem die wget.exe liegt... oder aber den gesamten Pfad angeben.
http://gnuwin32.sourceforge.net/packages/wget.htm
Du musst den Aufruf natürlich in dem Verzeichnis starten, in dem die wget.exe liegt... oder aber den gesamten Pfad angeben.
Versuchen wir es mal:
Alles ohne Gewähr!
Gruß,
Dani
[string] $strSavePath = "C:\Temp\123.bat"
$webclient = new-object System.Net.WebClient
$credCache = new-object System.Net.CredentialCache
$creds = new-object System.Net.NetworkCredential("user","pass")
$credCache.Add("http://www.xxxxxxxxxxx.de/Security/Updates/123.bat", "Basic", $creds)
$webclient.Credentials = $credCache
$webpage = $webclient.DownloadString("http://www.xxxxxxxxxxxxxxxxxxx.de/Security/Updates/123.bat")
$webpage | Set-Content -Path $strSavePath
write-host "Heruntergeladene Datei wurde unter $strSavePath gespeichert."
Gruß,
Dani
Zitat von @Fragezeichen123:
Das sehe ich kritisch, gibt es also ne Möglichkeit, ohne Zusatzsoftware, einfach eine Datei zu downloaden, und htaccess zu
nutzen (das Passwort von htaccess betrifft ja nicht den ganzen Server)?
Das sehe ich kritisch, gibt es also ne Möglichkeit, ohne Zusatzsoftware, einfach eine Datei zu downloaden, und htaccess zu
nutzen (das Passwort von htaccess betrifft ja nicht den ganzen Server)?
was spricht dagegen, weget zu verwenden, auch wenn das nicht zum Lieferumfang gehört. Inbesondere finde ich es übersichtlicher und einfacher zu warten, wenn in einer kurzen Befehlszeile alles drinsteht, als erstmal 10 Zeilen code hinschreiben zu müssen, damit man den Download hinbekommt.
lks
Ließe sich mit Powershell auch so abkürzen:
oder ab PS 3.0 geht auch Invoke-Webrequest
Dann fragt dich das Script auch nach deinen Credentials.
Grüße Uwe
p.s. ich frag jetzt nicht was aus deinen USB-Sticks geworden ist
$web = New-Object System.Net.WebClient
$web.Credentials = Get-Credential
$web.DownloadFile('http://www.xxxxxxxxxxxxxxxxxxx.de/Security/Updates/123.bat','C:\Temp\123.bat')
Invoke-Webrequest -Uri 'http://www.xxxxxxxxxxxxxxxxxxx.de/Security/Updates/123.bat' -Credential (Get-Credential) -OutFile 'C:\Temp\123.bat'
Grüße Uwe
p.s. ich frag jetzt nicht was aus deinen USB-Sticks geworden ist