Wie kann ich etwas direkt aus dem Internet herunterladen, ohne dass Internet Explorer oder Firefox Acrobat Reader / Quicktime / MS Word / irgendetwas öffnen?
Ich verwende Windows, also würde eine Windows-Version von Wget ausreichen .
Wie kann ich etwas direkt aus dem Internet herunterladen, ohne dass Internet Explorer oder Firefox Acrobat Reader / Quicktime / MS Word / irgendetwas öffnen?
Ich verwende Windows, also würde eine Windows-Version von Wget ausreichen .
Antworten:
Wget für Windows sollte funktionieren.
Aus den Wget Wiki FAQ :
GNU Wget ist ein kostenloses Netzwerkdienstprogramm zum Abrufen von Dateien aus dem World Wide Web über HTTP und FTP, die beiden am häufigsten verwendeten Internetprotokolle. Sie arbeitet nicht interaktiv und ermöglicht so die Arbeit im Hintergrund, nachdem Sie sich abgemeldet haben.
In diesem Abschnitt der FAQ werden Download-Links empfohlen:
Windows-Binärdateien
Mit freundlicher Genehmigung von Jernej Simončič: http://eternallybored.org/misc/wget/
von sourceforge: http://gnuwin32.sourceforge.net/packages/wget.htm
[...]
Stattdessen wird ein Link mit freundlicher Genehmigung von Jernej Simončič verwendet.
Eine Alternative, die ich kürzlich mithilfe von PowerShell entdeckt habe:
$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")
Es funktioniert auch mit GET-Abfragen.
Wenn Sie Anmeldeinformationen zum Herunterladen der Datei angeben müssen, fügen Sie die folgende Zeile dazwischen hinzu:
$client.Credentials = Get-Credential
Eine Standard-Windows-Eingabeaufforderung für Anmeldeinformationen wird angezeigt. Die dort eingegebenen Anmeldeinformationen werden zum Herunterladen der Datei verwendet. Sie müssen dies nur einmal für die gesamte Zeit tun, in der Sie das $ client-Objekt verwenden.
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt','C:\tmp\file.txt')
Wenn Sie über PowerShell> = 3.0 verfügen, können Sie Invoke-WebRequest verwenden
Invoke-WebRequest -OutFile index.html http://superuser.com
Oder golfen
iwr -outf index.html http://superuser.com
System.Net.WebClient
. Sie können jedoch Invoke-WebRequest
Arbeit machen , indem Sie hinzufügen -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
.
wget
oder curl -O
, curl --remote-name
oder curl -J
?)
Windows hat ein eigenes Dienstprogramm zum Herunterladen der Befehlszeile - BITSAdmin :
BITSAdmin ist ein Befehlszeilentool, mit dem Sie Download- oder Upload-Aufträge erstellen und deren Fortschritt überwachen können.
EDIT : 26.01.15 - Hier ist meine Übersicht, wie eine Datei unter Windows ohne externe Tools heruntergeladen werden kann
Und ein vollständiges bitsadmin-Beispiel:
bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip
Edit : 15.05.2018 - es hat sich herausgestellt, dass es auch möglich ist, eine Datei mit certutil herunterzuladen :
certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
Certutil wird unter XP / Win2003 nicht standardmäßig installiert, ist jedoch unter den neueren Windows-Versionen verfügbar. Für XP / 2003 benötigen Sie das Admin Tool Pack für Windows Server 2003
Speichern Sie den folgenden Text als wget.js
und rufen Sie einfach an
cscript /nologo wget.js http://example.com
Dies ist der Code:
var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false);
WinHttpReq.Send();
WScript.Echo(WinHttpReq.ResponseText);
/* To save a binary file use this code instead of previous line
BinStream = new ActiveXObject("ADODB.Stream");
BinStream.Type = 1;
BinStream.Open();
BinStream.Write(WinHttpReq.ResponseBody);
BinStream.SaveToFile("out.bin");
*/
Es ist eine native cURL für Windows verfügbar hier . Es gibt viele Varianten - mit und ohne SSL-Unterstützung.
Sie brauchen kein zusätzliches Gepäck von Cygwin und anderen, sondern nur eine kleine EXE-Datei.
Es ist auch wichtig zu wissen, dass in allen modernen Versionen von Windows Powershell beide wget
und curl
Aliase integriert sind. Sie sind gleichwertig.
Es sind keine zusätzlichen Dateien oder Downloads erforderlich, um wget
Funktionen zu erhalten :
Verwenden von Curl In Powershell (The Sociable Geek)
Auszug:
Sie können einen cURL-Befehl wie einen eingeben, der eine Datei aus einem GitHub-Repository herunterlädt.
und es scheint, als ob es funktioniert, aber was es tatsächlich tut, ist nur cURL als Alias zu verwenden. In diesem Fall erhalten Sie nur die Header anstelle der Datei.
Mit Aliasen in PowerShell können Sie Verknüpfungen für längere Befehle erstellen, damit Sie diese nicht ständig eingeben müssen.
Wenn Sie den Befehl Get-Alias eingeben, wird eine Liste aller in PowerShell verwendeten Aliase angezeigt. Wie Sie sehen, ruft der Befehl curl nur den Befehl Invoke-WebRequest auf. Sie sind ähnlich, aber nicht gleich, weshalb die obige Anfrage für uns nicht funktioniert.
Damit dies in PowerShell ordnungsgemäß funktioniert, verwenden Sie am einfachsten Variablen und das folgende -OutFile
Argument:
(Dateiname in Bild " https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json " abgeschnitten )
Diese Syntax lädt den gesamten Inhalt der Zieldatei azuredeploy.json
in die lokale Datei herunternewfile.json
Der Hauptvorteil ist, dass es in Powershell selbst integriert ist, sodass dieser Code direkt ausgeführt wird, ohne dass Downloads oder andere zusätzliche Dateierstellungen erforderlich sind, damit es auf jeder modernen Windows-Version funktioniert.
Ich habe eine schnelle myGet.bat-Datei erstellt, die die oben beschriebene PowerShell-Methode aufruft.
@Echo OFF
SetLocal EnableDelayedExpansion
Set Var=%1
Set Var=!Var:http://=!
Set Var=!Var:/=,!
Set Var=!Var:%%20=?!
Set Var=!Var: =?!
Call :LOOP !var!
Echo.Downloading: %1 to %~p0!FN!
powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('%1','%~p0!FN!')
GoTo :EOF
:LOOP
If "%1"=="" GoTo :EOF
Set FN=%1
Set FN=!FN:?= !
Shift
GoTo :LOOP
Ich habe mir einen Code von der Parsing-URL für den Dateinamen mit Leerzeichen ausgeliehen .
powershell.exe -Command "Invoke-WebRequest -OutFile ./file-name https://location/file-name"
<- Einfache einzeilige PowerShell-Verwendung in Speicherort und Dateiname der Skriptdatei.
Ich habe nach dem gleichen gesucht und da ich kein Privileg hatte, eines der oben genannten Pakete zu installieren, habe ich mir eine kleine Umgehung vorgenommen (um mehr als 30 Dateien herunterzuladen):
firefox.exe
am Anfang jeder ZeileProgram Files
Wenn PowerShell eine Option ist, ist dies die bevorzugte Route, da Sie (möglicherweise) nichts extra installieren müssen:
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')
Gelingt dies nicht, ist Wget für Windows, wie andere bereits betont haben, definitiv die zweitbeste Option. Wie in einer anderen Antwort angegeben, können Sie Wget entweder ganz alleine herunterladen oder als Teil von Cygwin oder MSys herunterladen .
Wenn aus irgendeinem Grund, findet man sich in einer Zeitschleife hängen geblieben zu finden, eine Maschine , die nicht Powershell hat und Sie haben null Zugang zu einem funktionierenden Web - Browser (das heißt, ist der Internet Explorer der einzige Browser auf dem System, und seine Einstellungen sind beschädigt) und Ihre Datei befindet sich auf einer FTP-Site (im Gegensatz zu HTTP):
start->run "FTP", press "OK".
Wenn Speicher verwendet wird, ist er seit Windows 98 vorhanden, und ich kann bestätigen, dass er in Windows 8 RTM noch vorhanden ist (möglicherweise müssen Sie appwiz.cpl
Funktionen hinzufügen / entfernen, um ihn zu erhalten). Mit diesem Dienstprogramm können Sie Dateien von / zu FTP-Sites im Web herunterladen und hochladen. Es kann auch in Skripten verwendet werden, um beide Vorgänge zu automatisieren.
Das integrierte Tool hat mir in der Vergangenheit das Leben gerettet, besonders in den Tagen von ftp.cdrom.com. Ich habe Firefox auf einem komplett kaputten Computer, der nur über ein DFÜ-Internet verfügte, einmal auf diese Weise heruntergeladen Verbindung (damals, als die maximale Paketgröße von sneakernet noch 1,44 MB betrug und Firefox immer noch "Netscape" hieß / me does trollface ).
Ein paar Tipps: Es ist ein eigener Befehlsprozessor und hat eine eigene Syntax. Versuchen Sie, "Hilfe" einzugeben. Alle FTP-Sites erfordern einen Benutzernamen und ein Passwort. Wenn sie jedoch "anonyme" Benutzer zulassen, lautet der Benutzername "anonym" und das Passwort ist Ihre E-Mail-Adresse (Sie können sich eine ausdenken, wenn Sie nicht verfolgt werden möchten, aber normalerweise gibt es eine Art Logik, um sicherzustellen, dass dies der Fall ist eine gültige E-Mail-Adresse).
C:\tmp\file.tx??t
Cygwin hat Wget (und viele weitere Dienstprogramme).
Und http://www.httrack.com/ hat eine nette GUI (und es ist kostenlos), um Websites zu spiegeln. Es hat auch eine Linux-Version.
Sie können auch das wget
in PowerShell enthaltene Produkt verwenden . ; ^) Zum Öffnen drücke die Windows-Taste und tippe "Powershell" oder Windows-R und tippe "Powershell" und drücke die Eingabetaste.
Keine Installation notwendig.
Ein interessanter Unterschied zu herkömmlichen wget
(mehr unter diesem Link ): Sie können nicht einfach das Größer-als-Zeichen verwenden, um eine Pipe zu einer Datei zu erstellen. wget
in PowerShell ist nur ein Convenience-Wrapper für Invoke-WebRequest
, und Sie müssen seine Syntax verwenden, um in eine Datei zu schreiben.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
-OutFile
hat den Job gemacht!
Sie können WGet für Windows hier herunterladen . Alternativ können Sie mit der rechten Maustaste auf den Download-Link des Elements klicken, das Sie herunterladen möchten, und Speichern unter auswählen. Dadurch wird die Datei heruntergeladen und nicht in der zugewiesenen Anwendung geöffnet.
Ich denke, die Installation wget
über Chocolatey ist der einfachste Weg.
choco install wget
wget
über die Befehlszeile wie auf * nix-Systemen verwenden.Suche nach /download
Funktion auf https://lolbas-project.github.io .
Im Augenblick gibt es Bitsadmin.exe
, Certutil.exe
, Esentutl.exe
, Expand.exe, Extrac32.exe
, Findstr.exe
, Hh.exe
, Ieexec.exe
, Makecab.exe
, Replace.exe
für Windows Vista, Windows 7, Windows 8, Windows - 8.1, Microsoft Windows 10 und die entsprechenden Server - Versionen.
Wenn Sie eine grafische Benutzeroberfläche benötigen , probieren Sie VisualWget aus , das tatsächlich sauber und mit allen Funktionen ausgestattet ist. Es basiert auf GNU Wget für seine Download-Engine.
EDIT: Link aktualisiert.
Wie in dieser SU-Antwort dokumentiert , können Sie in Powershell Folgendes verwenden:
Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
Eine Alternative zur Verwendung von gnuwin32 ist unxutils, das wget enthält.
Wenn Sie einen visuellen Beitrag für Windows benötigen , finden Sie hier einen.
Sie können Daten oder Dateien damit posten.