Comment exécuter wget à partir de PowerShell

Comment exécuter wget à partir de PowerShell
Le "wget"Est un utilitaire de ligne de commande utilisé pour récupérer des fichiers via les protocoles Internet les plus largement utilisés tels que HTTP, FTP, HTTPS et FTPS. Parce qu'il s'agit d'un outil de ligne de commande non interactif, il peut être invoqué à partir de scripts, de terminaux, etc. Voulez-vous télécharger des fichiers sur Internet mais n'aime pas l'idée de cliquer sur des liens encore et encore? Vous pouvez automatiser ce processus en utilisant Powershell.

Windows PowerShell est une plate-forme d'automatisation et de script. Il est principalement destiné aux administrateurs système et aux professionnels de l'informatique pour gérer et automatiser les processus liés à l'administration Windows et à ses applications.

PowerShell comprend diverses fonctions utiles et des commandes sont disponibles dans PowerShell, qui sont appelées cmdlettes. La version Microsoft de wget est disponible en tant que commande fondamentale dans PowerShell (PS) 3.0 connu sous le nom Invoquer-webrequest. Le wget existe comme un alias dans le Invoquer-webrequest commande.

Commande invoquée-webrequest dans PowerShell

Invoquer-webrequest est un téléchargeur de réseau non interactif, ou nous pouvons dire qu'il s'agit d'une commande qui permet à un système de télécharger des fichiers à partir de n'importe quel site Web en arrière-plan sans obliger un utilisateur à se connecter. Les demandes HTTP et HTTPS sont envoyées au service Web ou à la page spécifique.

Après cela, cette commande analyse la demande de demande et renvoie les collections de composants HTML importants tels que les images, les liens, etc. La commande invoke-webrequest peut également contrôler les demandes avec des informations d'identification, que l'emplacement de la source exige que l'utilisateur soit enregistré.

Écrivez la commande ci-dessous dans votre PowerShell pour mieux comprendre la demande invoquée, sa syntaxe et les alias:

> Invoquer-webrequest -?

Une demande de fichier simple avec PowerShell

Dans cette section, nous essaierons d'exécuter le Invoquer-webrequest pour les demandes de fichiers. Pour cela, nous spécifierons l'URI dans la commande suivante avec le «-UsebasicParsing" option. Cette option est utilisée pour la compatibilité en arrière. Par exemple, dans un cas où Internet Explorer n'est pas installé ou configuré.

> Invoke-webrequest http: // httpbin.org / json -UsebasicParsing

L'attaque de commande Invoke-WebRequest renverra un objet de réponse Web HTML qui contient de nombreuses informations utiles sur les propriétés d'analyse HTML telles que le contenu brut, les en-têtes, les liens, les formulaires, les images et les champs d'entrée, etc.

Les administrateurs peuvent utiliser la commande invoke-webrequest pour transporter des données sur les réseaux et les services de test via Internet. Tandis que WGET a été créé avec des conditions de réseau variées, ce qui le rend excellent pour les connexions et les systèmes lents peu fiables. Dans PowerShell, la commande «WGET» peut être utilisée pour extraire un objet Web HTML, tel que:

À part ça, tout autre wget L'exécution de commandes vous montrera l'erreur suivante dans votre PowerShell:

Donc, il vaut mieux utiliser "Invoquert ”dans le même but, qui utilise«wget"Comme un alias.

Extraction de liens dans PowerShell

Vous pouvez également utiliser Invoquer-webrequest pour extraire une liste de liens qui existent sur un fichier Web particulier. "-Uri"L'option est utilisée pour indiquer l'identifiant de ressources uniformes (URI) de votre ressource Internet. Maintenant, vérifiez la commande ci-dessous:

> (Invoke-webrequest -uri "https: // aka.MS / PSCORE6-DOCS "-USUSICAPPARSING
).Liens.Href

Téléchargez n'importe quel fichier sur le site Web avec PowerShell

Nous avons vu la méthode pour demander un fichier et extraire des liens du Web à l'aide d'Invoke-WebRequest. Maintenant, nous allons avancer pour télécharger un fichier complet à partir de l'URI spécifié. Nous exécuterons un script PowerShell à cet effet. Alors, ouvrez votre Windows PowerShell ISE et créez un nouveau fichier.

Après cela, écrivez le code ci-dessous dans votre script PowerShell. Spécifiez l'URI dans le «$ source»Variable. "$ destination"Indique le chemin d'accès où ce fichier sera placé après le téléchargement. "-Vider"L'option est utilisée pour spécifier le fichier de sortie sur lequel la commande invoke-webrequest enregistrera sa réponse.

$ source = 'http: // speedtest.télé2.net / 10 Mo.zipper'
$ Destination = 'E: \ Télécharger \ 10MB.zipper'
Invoke-webrequest -uri $ source -outfile $ destination

Enregistrez le fichier sous «TestFile1.PS1», Et exécutez ce script PowerShell.

La sortie sans erreur déclare que le fichier est téléchargé avec succès. Pour confirmer la présence du fichier, utilisez le «Get-Childitem”Cmdlet pour visualiser le contenu du dossier spécifié:

> Get-ChildItem «E: \ Télécharger»

Envoi de demandes Web avec PowerShell

Maintenant, nous allons écrire un script pour envoyer une demande Web sur le site Web "bing.com."La commande invoke-webrequest émettra la demande au site spécifié. Après cela, la réponse du site Web sera enregistrée sur le «$ Réponse»Variable.

La commande suivante extraitera les valeurs déposées d'entrée et les tuera vers le Select-Object Utilisation de l'opérateur de tuyau [«|»].

$ Réponse = invoke-webrequest -uri https: // www.bing.com / recherche?q = comment + plusieurs + pieds + dans + a + mile
$ Réponse.InputFields | Où-objet
$ _.Nom -like "* valeur *"
| Nom de sélection, valeur

Exécution du «TestFile2.PS1 ”vous montrera la sortie suivante:

Si vous obtenez l'erreur affichée dans la sortie ci-dessous, utilisez le «-UsebasicParsing”Option après avoir spécifié l'uri dans la commande invoke-webrequest.

$ Réponse = invoke-webrequest -uri https: // www.bing.com / recherche?Q = comment + plusieurs pieds + pieds + dans + a + mile -UsabasicParsing
$ Réponse.InputFields | Où-objet
$ _.Nom -like "* valeur *"
| Nom de sélection, valeur

Maintenant, exécutez le même script avec les modifications mentionnées, et vous obtiendrez la sortie sans erreur.

Conclusion

La plupart des utilisateurs sont fatigués de télécharger les fichiers en cliquant encore et encore. Ce processus nécessite également votre engagement et votre temps précieux. Vous pouvez maintenant utiliser Powershell Pour automatiser cette procédure de téléchargement qui vous aide à être plus productif et vous permet de vous engager dans d'autres activités lorsque vos fichiers téléchargement.

PowerShell fournit plusieurs commandes utiles appelées cmdlettes; Invoquer-webrequest est l'un d'eux. Vous pouvez exécuter WGET à partir de PowerShell, qui est un alias pour la commande invoke-webrequest. Cet article vous a montré les méthodes de demande, d'envoi et de téléchargement d'un fichier Web, en extraction des liens du Web.