Comment puis-je télécharger quelque chose directement sur le Web sans Internet Explorer ou Firefox en ouvrant Acrobat Reader/Quicktime/MS Word/peu importe?
J'utilise Windows, donc une version Windows de Wget ferait l'affaire.
Wget pour Windows devrait fonctionner.
Depuis le Wget Wiki FAQ :
GNU Wget est un utilitaire réseau gratuit permettant de récupérer des fichiers du World Wide Web en utilisant HTTP et FTP, les deux protocoles Internet les plus largement utilisés. Il fonctionne de manière non interactive, permettant ainsi de travailler en arrière-plan après la fermeture de session.
À partir de cette section de FAQ , des liens de téléchargement sont proposés:
Binaires Windows
avec la permission de Jernej Simončič: http://eternallybored.org/misc/wget/
de sourceforge: http://gnuwin32.sourceforge.net/packages/wget.htm
[...]
Le lien avec la courtoisie de Jernej Simončič est utilisé à la place.
Une alternative que j'ai découverte récemment avec PowerShell:
$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")
Cela fonctionne aussi bien 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
Un message d'identification Windows standard apparaîtra. Les informations d'identification que vous entrez ici seront utilisées pour télécharger le fichier. Vous ne devez faire cela qu'une fois pour toutes les fois où vous utiliserez l'objet $ client.
Si vous avez PowerShell> = 3.0, vous pouvez utiliser Invoke-WebRequest
Invoke-WebRequest -OutFile index.html http://superuser.com
Ou joué au golf
iwr -outf index.html http://superuser.com
Windows a son propre utilitaire de téléchargement en ligne de commande - BITSAdmin :
BITSAdmin est un outil de ligne de commande que vous pouvez utiliser pour créer des tâches de téléchargement ou de téléchargement et surveiller leur progression.
EDIT: 26.01.15 - Voici comment vous pouvez télécharger un fichier sous Windows sans outil externe
Et un exemple complet de bitsadmin:
bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.Zip c:\10mb.Zip
Edit : 15.05.2018 - Il est désormais 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 versions Windows les plus récentes. Pour XP/2003, vous aurez besoin du Admin Tool Pack pour Windows Server 2003
Enregistrez le texte suivant sous le nom wget.js
et appelez simplement
cscript /nologo wget.js http://example.com
C'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");
*/
Il existe un cURL natif pour Windows disponible ici . Il existe de nombreuses variétés disponibles, avec et 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
dans toutes les versions modernes de Windows Powershell. Ils sont équivalents.
Aucun fichier ni téléchargement supplémentaire n'est requis pour obtenir la fonctionnalité wget
:
Utilisation de Curl In Powershell (The Sociable Geek)
Extrait:
Vous pouvez taper une commande cURL comme celle qui télécharge un fichier depuis un référentiel GitHub.
et cela semblera fonctionner, mais en réalité, cURL est utilisé comme alias. Dans le cas ci-dessus, vous obtiendrez simplement les en-têtes au lieu du fichier lui-même.
Les alias dans PowerShell vous permettent de créer des raccourcis pour les commandes plus longues, de sorte 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 utilisés dans PowerShell. Comme vous pouvez le constater, la commande curl appelle simplement la commande Invoke-WebRequest. Ils sont similaires mais pas les mêmes, c'est pourquoi la demande ci-dessus ne fonctionne pas pour nous.
Pour que cela fonctionne correctement dans PowerShell, le moyen le plus simple consiste à utiliser des variables et l'argument -OutFile
, comme indiqué ci-après:
(nom de 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
dans 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 que toute autre création de fichier supplémentaire est requise pour le faire fonctionner sur toute version moderne de Windows.
J'ai créé 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 àURL d'analyse du nom de fichier avec un espace.
Je cherchais la même chose, et comme je n'avais aucun privilège pour installer l'un des packages ci-dessus, j'ai opté pour une petite solution de contournement (pour télécharger plus de 30 fichiers):
firefox.exe
au début de chaque ligneProgram Files
Cygwin a Wget (et de nombreux autres utilitaires).
Si PowerShell est une option, c'est la route à privilégier, car vous ne devrez (potentiellement) installer rien de plus:
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')
En cas d'échec, Wget pour Windows, comme d'autres l'ont fait remarquer, est certainement la deuxième meilleure option. Comme indiqué dans une autre réponse, il semble que vous pouvez télécharger Wget tout seul , ou vous pouvez le récupérer dans le cadre de Cygwin ou MSys .
Si, pour une raison quelconque, vous vous retrouvez coincé dans une impasse temporelle, si vous utilisez un ordinateur dépourvu de PowerShell et , vous n’avez aucun accès à un navigateur Web opérationnel (c’est-à-dire que Internet Explorer est le seul le système et ses paramètres sont corrompus) et votre fichier est sur un site FTP (par opposition à HTTP):
start->run "FTP", press "OK".
Si la mémoire est utile, elle existe depuis Windows 98 et je peux confirmer qu’elle existe toujours dans Windows 8 RTM (vous devrez peut-être accéder à appwiz.cpl
et ajouter/supprimer des fonctionnalités pour l'obtenir). Cet utilitaire peut à la fois télécharger et télécharger 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.
Cet outil intégré a été pour moi une véritable bouée de sauvetage dans le passé, en particulier à l'époque de ftp.cdrom.com - j'ai déjà téléchargé Firefox de cette façon, sur une machine complètement en panne qui ne possédait qu'un accès Internet par ligne commutée. connexion (à l’époque où la taille de paquet maximale du sneakernet était toujours de 1,44 Mo et que Firefox s’appelait encore "Netscape"/me fait trollface ).
Quelques astuces: c'est son propre processeur de commande et sa propre syntaxe. Essayez de taper "aide". Tous les sites FTP nécessitent un nom d'utilisateur et un mot de passe. mais s'ils autorisent les utilisateurs "anonymes", le nom d'utilisateur est "anonymous" et le mot de passe est votre adresse e-mail (vous pouvez en créer une si vous ne souhaitez pas être suivi, mais il existe généralement une sorte de logique une adresse email valide).
Et http://www.httrack.com/ dispose d'une interface graphique conviviale (et gratuite) pour les sites en miroir. Il a également une version Linux.
Vous pouvez également utiliser la wget
fournie dans PowerShell . ; ^) Pour ouvrir, appuyez sur la touche Windows et tapez "PowerShell" ou Windows-R et tapez "PowerShell" et appuyez sur Entrée.
Aucune installation nécessaire.
Une différence intéressante par rapport à la variable wget
conventionnelle (plus de ce lien ): vous ne pouvez pas simplement utiliser le supérieur-à pour diriger vers un fichier. wget
dans PowerShell n’est qu’un wrapper de commodité pour Invoke-WebRequest
et vous devez utiliser sa syntaxe pour écrire dans un fichier.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
Vous pouvez obtenir WGet pour 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. Cela téléchargera le fichier et ne l'ouvrira pas dans l'application assignée.
Je pense que l'installation de wget
via Chocolatey est la méthode la plus simple.
choco install wget
wget
à partir de la ligne de commande, comme sur les systèmes * nix.Si vous voulez une interface graphique, essayez VisualWget , qui est en fait propre et dont la fonctionnalité est complète. Il est basé sur GNU Wget pour son moteur de téléchargement.
EDIT: lien mis à jour.
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