2009-08-19 11:40:48 +0000 2009-08-19 11:40:48 +0000
372
372

Comment télécharger des fichiers en ligne de commande dans Windows comme wget ou curl

Comment puis-je télécharger quelque chose du web directement sans qu'Internet Explorer ou Firefox n'ouvre Acrobat Reader/Quicktime/MS Word/quelque chose ?

J'utilise Windows, donc une version Windows de Wget ferait l'affaire.

Réponses (19)

323
323
323
2011-09-01 13:25:11 +0000

Une alternative que j'ai découverte récemment, en utilisant PowerShell :

$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")

Elle fonctionne également avec les requêtes GET.

Si vous devez spécifier des informations d'identification pour télécharger le fichier, ajoutez la ligne suivante entre les deux :

$client.Credentials = Get-Credential

Une invite standard d'informations d'identification Windows apparaîtra. Les informations d'identification que vous y saisissez seront utilisées pour télécharger le fichier. Vous ne devez le faire qu'une seule fois pour toute la durée de l'utilisation de l'objet $client.

187
187
187
2009-08-19 11:45:59 +0000

Wget for Windows devrait fonctionner.

De la Wget Wiki FAQ :

GNU Wget est un utilitaire réseau gratuit permettant de récupérer des fichiers sur le web en utilisant HTTP et FTP, les deux protocoles Internet les plus utilisés. Il fonctionne de manière non interactive, permettant ainsi de travailler en arrière-plan, après s'être déconnecté.

Depuis cette section de la FAQ , des liens de téléchargement sont proposés :

Windows Binaries

Lien avec l'aimable autorisation de Jernej Simončič est utilisé à la place.

95
95
95
2014-05-17 19:15:46 +0000

Si vous avez PowerShell >= 3.0, vous pouvez nous Invoke-WebRequest

Invoke-WebRequest -OutFile index.html http://superuser.com

Ou jouer au golf

iwr -outf index.html http://superuser.com

Télécharger un fichier via HTTP sous Windows

64
64
64
2011-12-30 17:40:02 +0000

Windows dispose de son propre utilitaire de téléchargement en ligne de commande - BITSAdmin :

BITSAdmin est un outil en ligne de commande que vous pouvez utiliser pour créer des travaux en téléchargement ou en envoi et pour en suivre l'évolution.

EDIT : 26.01.15 - Voici mon aperçu de la manière dont un fichier peut être téléchargé sur Windows sans outils externes

Et un exemple complet de BITSAdmin :

bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:0mb.zip

Edit : 15.05.2018_ - il s'avère qu'il est possible de télécharger un fichier avec certutil aussi :

certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip

Certutil n'est pas installé par défaut sur XP/Win2003 mais est disponible sur les nouvelles versions de Windows. Pour XP/2003, vous aurez besoin du Pack d'outils d'administration pour Windows Server 2003

33
33
33
2013-01-15 07:03:23 +0000

Enregistrez le texte suivant sous le nom de wget.js et appelez simplement

cscript /nologo wget.js http://example.com

Ceci est le 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");
*/
22
22
22
2013-03-02 13:30:36 +0000

J'ai fait un rapide fichier myGet.bat qui appelle la méthode PowerShell décrite ci-dessus.

@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

J'ai emprunté du code à Parsing URL for filename with space _.

22
22
22
2012-10-27 14:16:23 +0000

Il existe un cURL natif pour Windows disponible ici . Il existe de nombreuses variantes, avec ou sans support SSL.

Vous n'avez pas besoin du bagage supplémentaire de Cygwin et autres, juste d'un petit fichier EXE.


** Il est également important de savoir qu'il existe des alias wget et curl intégrés dans toutes les versions modernes de Windows Powershell. Ils sont équivalents.**

Aucun fichier ou téléchargement supplémentaire n'est nécessaire pour obtenir la fonctionnalité wget: Using Curl In Powershell (The Sociable Geek)

Extrait :

Vous pouvez taper une commande cURL comme celle qui télécharge un fichier depuis un dépôt GitHub.

curl http://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json

et il semblera que cela fonctionne, mais en réalité, il utilise simplement cURL comme alias. Dans l'exemple ci-dessus, ce qui se passera, c'est que vous aurez juste les en-têtes au lieu du fichier lui-même.

Alias dans PowerShell vous permettent de créer des raccourcis pour des commandes plus longues afin que vous n'ayez pas à les taper tout le temps.

Si vous tapez la commande Get-Alias, cela vous donnera une liste de tous les Alias qui sont utilisés dans PowerShell. Comme vous pouvez le voir, la commande curl appelle simplement la commande Invoke-WebRequest. Ils sont similaires mais pas identiques, c'est pourquoi la requête ci-dessus ne fonctionne pas pour nous.

Pour que cela fonctionne correctement dans PowerShell, le plus simple est d'utiliser des variables et l'argument -OutFile comme indiqué ici :

(nom du fichier coupé dans l'image https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy. json “)

Cette syntaxe téléchargera le contenu complet du fichier cible azuredeploy.json vers le fichier local newfile.json


Le principal avantage est qu'il est intégré à PowerShell lui-même, de sorte que ce code s'exécutera directement sans téléchargement ou toute autre création de fichier supplémentaire est nécessaire pour le faire fonctionner sur n'importe quelle version moderne de Windows.

8
8
8
2013-04-09 08:13:58 +0000

Je cherchais la même chose, et comme je n'avais pas le privilège d'installer aucun des paquets ci-dessus, j'ai opté pour une petite solution de contournement (pour télécharger 30+files) :

  • J'ai créé un fichier batch
  • J'ai listé tous les fichiers
  • J'ai mis firefox.exe au début de chaque ligne
  • Je suis allé dans le répertoire firefox dans Program Files
  • Je l'ai exécuté.
4
4
4
2017-02-01 14:06:11 +0000

Vous pouvez également utiliser le wget conditionné dans PowerShell . ;^) Pour ouvrir, appuyez sur la touche Windows et tapez “powershell” ou Windows-R et tapez “powershell” et appuyez sur retour.

Aucune installation nécessaire.

Une différence intéressante par rapport au wget conventionnel (plus d'informations sur ce lien ) : Vous ne pouvez pas simplement utiliser le “greater-than” pour faire un pipe vers un fichier. wget dans PowerShell est juste un “convenience wrapper” pour Invoke-WebRequest, et vous devez utiliser sa syntaxe pour écrire dans un fichier.

wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
4
4
4
2012-10-22 05:48:35 +0000

Si PowerShell est une option, c'est la voie privilégiée, puisque vous n'aurez (potentiellement) rien à installer de plus :

(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')

A défaut, Wget for Windows, comme d'autres l'ont souligné, est certainement la deuxième meilleure option. Comme indiqué dans une autre réponse, il semble que vous puissiez télécharger Wget tout seul , ou que vous puissiez le prendre en tant que partie de Cygwin ou MSys . Si, pour une raison quelconque, vous vous trouvez bloqué dans une distorsion temporelle, en utilisant une machine qui n'a pas PowerShell, et que vous n'avez aucun accès à un navigateur web fonctionnel (c'est-à-dire Internet&nbsp ; Explorer est le seul navigateur sur le système, et ses paramètres sont corrompus), et que votre fichier se trouve sur un site FTP (par opposition à HTTP) :

start->run "FTP", press "OK".

Si la mémoire est suffisante, il est là depuis Windows 98, et je peux confirmer qu'il est toujours là sous Windows 8 RTM (il vous faudra peut-être aller dans appwiz.cpl et ajouter/supprimer des fonctionnalités pour l'obtenir). Cet utilitaire peut à la fois télécharger et envoyer des fichiers vers/depuis des sites FTP sur le web. Il peut également être utilisé dans des scripts pour automatiser l'une ou l'autre opération. ](http://www.howtofixcomputers.com/forums/windows-xp/how-use-command-ftp-exe-windows-98176.html)

Cet outil intégré a été pour moi un véritable sauveur dans le passé, surtout à l'époque de ftp.cdrom. com – J'ai téléchargé Firefox de cette façon une fois, sur une machine complètement cassée qui n'avait qu'une connexion Internet par ligne commutée (à l'époque où la taille maximale des paquets de sneakernet était encore de 1,44 MB, et où Firefox s'appelait encore “Netscape” /me fait trollface).

Quelques conseils : il a son propre processeur de commande, et il a sa propre syntaxe. Essayez de taper “help”. Tous les sites FTP exigent un nom d'utilisateur et un mot de passe ; mais s'ils autorisent les utilisateurs “anonymes”, le nom d'utilisateur est “anonyme” et le mot de passe est votre adresse électronique (vous pouvez en inventer un si vous ne voulez pas être suivi, mais il y a généralement une sorte de logique pour s'assurer que c'est une adresse électronique valide).

3
3
3
2019-06-02 21:52:23 +0000

Recherchez la fonction /download sur https://lolbas-project.github.io .

Actuellement, il y a Bitsadmin.exe, Certutil.exe, Esentutl.exe, Expand.exe, Extrac32.exe, Findstr.exe, Hh.exe, Ieexec.exe, Makecab.exe pour Windows vista, Windows 7, Windows 8, Windows 8.1, Windows 10 et les versions serveur équivalentes.

3
3
3
2012-02-16 17:10:01 +0000

Cygwin a Wget (et bien d'autres utilitaires).

2
2
2
2009-08-19 11:54:38 +0000

Et http://www.httrack.com/ a une belle interface graphique (et elle est gratuite), pour les sites miroirs. Il a également une version Linux.

1
1
1
2009-08-19 11:46:49 +0000

Vous pouvez obtenir WGet for Windows ici . Vous pouvez également cliquer avec le bouton droit de la souris sur le lien de téléchargement de l'élément que vous souhaitez télécharger et choisir “Enregistrer sous”. Ceci téléchargera le fichier et ne l'ouvrira pas dans l'application assignée.

1
1
1
2018-06-17 11:29:05 +0000

Je pense qu'installer wget via Chocolatey est la manière la plus simple.

  1. installer Chocolatey
  2. Depuis la ligne de commande, tapez : choco install wget
  3. Vous pouvez ensuite utiliser wget à partir de la ligne de commande comme sur les systèmes *nix.
0
0
0
2018-12-05 19:27:48 +0000

Comme indiqué dans cette réponse SU , vous pouvez utiliser les éléments suivants dans Powershell :

Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
0
0
0
2012-02-16 16:58:17 +0000

Si vous voulez une interface graphique, essayez VisualWget , qui est en fait propre et plein de fonctionnalités. Il est basé sur GNU Wget pour son moteur de téléchargement.

EDIT : lien mis à jour.

-1
-1
-1
2011-07-21 16:00:11 +0000

Une alternative à l'utilisation de gnuwin32 est unxutils qui inclut wget.

-3
-3
-3
2016-04-12 07:45:52 +0000

Si vous avez besoin d'un poste visuel pour Windows, ici en est un. Vous pouvez poster des données ou des fichiers avec ce poste.