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.
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.
Réponses:
Wget pour Windows devrait fonctionner.
De la FAQ Wget Wiki :
GNU Wget est un utilitaire réseau gratuit permettant de récupérer des fichiers du World Wide Web à l’aide de 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 la fermeture de session.
Dans cette section de la FAQ , des liens de téléchargement sont suggéré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
Une invite de connexion 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.
(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt','C:\tmp\file.txt')
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
System.Net.WebClient
. Cependant, vous pouvez faire un Invoke-WebRequest
travail en ajoutant -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
.
wget
ou curl -O
, curl --remote-name
ou curl -J
?)
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 mon aperçu de la façon 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:\10mb.zip
Edit : 15.05.2018 - Il s'est avéré qu'il est également possible de télécharger un fichier avec certutil :
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 pack d'outils d'administration pour Windows Server 2003.
Enregistrez le texte suivant sous 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");
*/
Un cURL natif pour Windows est 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, mais d’un seul fichier EXE.
Il est également important de savoir qu'il existe des pseudonymes wget
et des curl
alias dans toutes les versions modernes de Windows Powershell. Ils sont équivalents.
Aucun fichier ni téléchargement supplémentaire n'est requis pour obtenir une wget
fonctionnalité:
Utilisation de Curl In Powershell (The Geek Sociable)
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 afin que vous n'ayez pas à les taper tout le temps.
Si vous tapez la commande Get-Alias, elle 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' -OutFile
argument, comme indiqué ci-dessous:
(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 tout le contenu 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 à l' URL d'analyse pour le nom de fichier avec de l'espace .
powershell.exe -Command "Invoke-WebRequest -OutFile ./file-name https://location/file-name"
<- Utilisation simple d’une ligne téléphonique dans l’emplacement et le nom du fichier de codage.
Je cherchais la même chose, et comme je n'avais aucun privilège d'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
Si PowerShell est une option, il s'agit de la route préférée, car vous n'avez (potentiellement) pas besoin d'installer quoi que ce soit d'autre:
(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 semblerait que vous puissiez télécharger Wget tout seul ou le récupérer dans le cadre de Cygwin ou de MSys .
Si, pour une raison quelconque, vous vous retrouvez coincé dans une impasse temporelle en utilisant un ordinateur dépourvu de PowerShell et que vous n’avez aucun accès à un navigateur Web opérationnel (c’est-à-dire, Internet Explorer est le seul navigateur du 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 entrer 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é une véritable bouée de sauvetage pour moi 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 électronique (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).
C:\tmp\file.tx??t
Cygwin a Wget (et de nombreux autres utilitaires).
Et http://www.httrack.com/ a une belle interface graphique (gratuite) pour les sites en miroir. Il a aussi une version Linux.
Vous pouvez également utiliser le wget
package 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 à conventionnelle wget
(plus sur ce lien ): vous ne pouvez pas simplement utiliser le supérieur à pour diriger vers un fichier. wget
dans PowerShell n’est qu’un emballage pratique Invoke-WebRequest
, et vous devez utiliser sa syntaxe pour écrire dans un fichier.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
-OutFile
a fait le travail!
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 wget
via Chocolatey est la méthode la plus simple.
choco install wget
wget
la ligne de commande comme sur les systèmes * nix.Rechercher une /download
fonction sur https://lolbas-project.github.io .
En ce moment il y a Bitsadmin.exe
, Certutil.exe
, Esentutl.exe
, Expand.exe, Extrac32.exe
, Findstr.exe
, Hh.exe
, Ieexec.exe
, Makecab.exe
, Replace.exe
pour Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 et les versions équivalentes Server.
Si vous voulez une interface graphique, essayez alors VisualWget , qui est en fait propre et complet. Il est basé sur GNU Wget pour son moteur de téléchargement.
EDIT: lien mis à jour.
Comme indiqué dans cette réponse , vous pouvez utiliser les éléments suivants dans Powershell:
Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
Si vous avez besoin d’une publication visuelle pour Windows, en voici une.
Vous pouvez poster des données ou des fichiers avec elle.