fragezeichen123
Goto Top

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 face-sad
Kann mir vielleicht jemand ein .ftp skript zeigen, dass die Datei holen kann.
Danke für eure Hilfe

Gruß
?123

Content-Key: 255727

Url: https://administrator.de/contentid/255727

Printed on: April 19, 2024 at 05:04 o'clock

Member: Dani
Dani Nov 24, 2014 at 18:45:57 (UTC)
Goto Top
Moin,
ich würde sagen wir erarbeiten die Lösung zusammen.
Was hast du bisher an Skriptzeilen zusammen geschrieben? Wie lautet die Fehlermeldung?


Gruß,
Dani
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 18:59:51 (UTC)
Goto Top
Jo,
Das würde ich auch sagen face-smile
Einen Moment.....
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 updated at 19:04:41 (UTC)
Goto Top
Also...
Das ist die Batch Datei:
ftp -s:DatenHolen.ftp
PAUSE
exit

Und das hier die ftp:
OPEN http://www.xxxxxxxxxxxx.de/Security/Updates/
MeinUsername
MeinPasswort
GET /123.bat C:\Zielverzeichnis\
bye


Hoffe du kannst was damit anfangen... hab das Gefühl, dass des mit htacces nicht funktioniert.
Danke für deine Bemühungen
Gruß
?123
Member: echo11
echo11 Nov 24, 2014 at 19:15:21 (UTC)
Goto Top

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ß
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 19:21:19 (UTC)
Goto Top
Hey,
Warum muss ich mein Passwort eingeben, wenn ich im Browser auch ohne da hin komm?
(htacces hat ein anderes PW)
Gruß

?123
Member: Lochkartenstanzer
Lochkartenstanzer Nov 24, 2014 updated at 19:23:29 (UTC)
Goto Top

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
Member: echo11
echo11 Nov 24, 2014 at 19:27:40 (UTC)
Goto Top
Zitat von @Fragezeichen123:

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.
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 updated at 19:39:23 (UTC)
Goto Top
Wie würde denn das skript heissen, per HTTP?
Gruß
?123


Edit:
Glaub des geht mit wget oder?
Member: Lochkartenstanzer
Lochkartenstanzer Nov 24, 2014 updated at 19:41:40 (UTC)
Goto Top
Zitat von @Fragezeichen123:

Wie würde denn das skript heissen, per HTTP?
Gruß
?123

wget.exe --http-user=user --http-password=password --directory-prefix=zieldirectory http://www.xxxxxxxxxxxx.de/Security/Updates/123.bat 

lks
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 19:48:44 (UTC)
Goto Top
Danke,
aber der PC sagt: "Der Befehl "wget.exe" ist entweder falsch geschrieben oder konnte nicht gefunden werden."
KP warum
Member: echo11
echo11 Nov 24, 2014 at 19:55:58 (UTC)
Goto Top
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.
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 20:13:43 (UTC)
Goto Top
okay, danke, hat funktioniert face-smile
(Also mit ftp)
Jetzt steht in meinem Programm aber immer das Passwort für den FTP-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)?

Gruß
?123
Member: echo11
echo11 Nov 24, 2014 updated at 20:33:54 (UTC)
Goto Top
Nicht per htaccess. Das hat mit FTP nichts zu tun.
Das Beispiel mit wget von iks läuft über HTTP und nutzt die htaccess-Zugangsdaten.
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 20:53:07 (UTC)
Goto Top
wenn ich den Befehl ausführe funktionierts:
powershell (new-object System.Net.WebClient).DownloadFile('http://www.xxxxxxxx.de/Security/Updates/123.bat','%TEMP%\123.bat'); Start-Process "%TEMP%\123.bat"

ich würde jetzt noch gern ne pwd abfrage einbinden. Weiss jemand, wie des geht?
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 21:31:33 (UTC)
Goto Top
Hi,
kann mir vielleicht jemand, der sich mit Powershell auskennt, in mein Skript den Speicherort der Datei auf meinem PC in das Skript einfügen?:

$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")  

Danke face-smile
Gruß
?123
Member: Dani
Solution Dani Nov 24, 2014, updated at Nov 25, 2014 at 19:20:10 (UTC)
Goto Top
Versuchen wir es mal:
[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."  
Alles ohne Gewähr!

Gruß,
Dani
Member: Fragezeichen123
Fragezeichen123 Nov 24, 2014 at 21:44:35 (UTC)
Goto Top
Danke danke danke face-smile face-smile face-smile
Ich werde es morgen testen

Gruß
?123
Member: Lochkartenstanzer
Lochkartenstanzer Nov 25, 2014 updated at 07:22:23 (UTC)
Goto Top
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)?


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
Member: colinardo
Solution colinardo Nov 25, 2014 updated at 19:20:02 (UTC)
Goto Top
Ließe sich mit Powershell auch so abkürzen:
$web = New-Object System.Net.WebClient
$web.Credentials = Get-Credential
$web.DownloadFile('http://www.xxxxxxxxxxxxxxxxxxx.de/Security/Updates/123.bat','C:\Temp\123.bat')  
oder ab PS 3.0 geht auch Invoke-Webrequest
Invoke-Webrequest -Uri 'http://www.xxxxxxxxxxxxxxxxxxx.de/Security/Updates/123.bat' -Credential (Get-Credential) -OutFile 'C:\Temp\123.bat'  
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 face-big-smile
Member: Fragezeichen123
Fragezeichen123 Nov 25, 2014 at 16:50:06 (UTC)
Goto Top
@ Uwe
Willst du es wissen?
Also es hat jetzt echt funktioniert! face-smile
Aber ich hatte wegen den flamern keine Lust zurück zu schreiben XD
Member: Fragezeichen123
Fragezeichen123 Nov 25, 2014 at 19:19:52 (UTC)
Goto Top
Hat funktioniert face-smile face-smile face-smile
Danke an Alle! face-smile

Gruß
?123