Utiliser Wget avec un proxy

Dans cet article, vous allez vous plonger dans le monde de Wget et de Linux, en explorant comment vous pouvez facilement intégrer des proxys dans votre flux de tâches.
13 min read
Using Wget with a Proxy

Wget (de GNU) est un utilitaire de ligne de commande polyvalent qui est devenu indispensable pour de nombreux utilisateurs Linux qui s’en servent pour récupérer facilement des fichiers sur Internet. Wget est riche en fonctionnalités, facile à utiliser et prend en charge les protocoles réseau courants, notamment HTTP, HTTPS et FTP. En outre, Wget bénéficie d’une prise en charge intégrée pour télécharger des sites web entiers ou des sous-ensembles de pages, ce qui en fait un outil idéal pour le web scraping, la mise en miroir et l’archivage.

L’une des caractéristiques les plus impressionnantes de Wget est sa capacité à fonctionner simplement avec des proxys. En tant qu’utilisateur Linux, vous aurez souvent besoin d’un proxy pour masquer votre identité, contourner les restrictions régionales indésirables ou améliorer vos performances par un équilibrage de charge. Avec Wget dans votre boîte à outils, l’intégration de proxys est une tâche facile.

Qu’est-ce que Wget ?  

Wget, abréviation de « World Wide Web » et de « get », est un programme libre et gratuit, qui permet d’interagir avec des fichiers sur Internet. Il fait partie du projet GNU, qui est système de collaboration étendu de logiciels libres.

Wget bénéficie de fonctionnalités pratiques pour les utilisateurs techniques travaillant avec des fichiers en ligne. Parmi ces fonctionnalités, citons les téléchargements par lots, la reprise des téléchargements interrompus, le téléchargement récursif, la prise en charge des proxys, la planification des téléchargements, la limitation de la bande passante, l’utilisation d’agents utilisateurs personnalisables et la prise en charge de SSL/TLS. En outre, Wget est non interactif, ce qui en fait un choix idéal pour les scripts et les tâches sous cron qui s’exécutent en arrière-plan.

Wget est populaire parmi les utilisateurs de Linux et d’Unix ; il existe également des versions pour Windows et MacOS. L’impressionnante panoplie de fonctionnalités de Wget et sa compatibilité avec différentes plateformes en font l’outil de référence pour diverses tâches web, telles que le téléchargement de fichiers volumineux, l’automatisation des téléchargements et la mise en miroir de sites web.

L’utilisation des proxys avec Wget sous Linux  

Il existe divers types de proxys, par exemple les proxys de centre de données et les proxys résidentiels – chaque type ayant ses propres avantages et cas d’utilisation. L’utilisation de proxys avec Wget présente certains avantages, notamment le contournement des restrictions dues à l’emplacement géographique et au réseau/FAI. Wget vous permet également de préserver votre anonymat et votre confidentialité lorsque vous naviguez sur le web ou que vous téléchargez des fichiers.

Si vous faites appel à un fournisseur adéquat, vous pouvez également utiliser des proxys pour mettre en cache des ressources fréquemment utilisées, ce qui améliore vos performances. En outre, les fournisseurs de proxys peuvent vous aider à améliorer la vitesse de votre réseau, à contourner certaines limites de débit en vous fournissant un large pool d’adresses IP, et même à obtenir des solutions permettant de contourner les CAPTCHA. Il est donc essentiel de choisir le bon fournisseur de proxys pour avoir l’assurance que votre proxy fonctionnera efficacement, notamment si vous devez l’utiliser avec Wget.  

Configurer Wget avec un proxy  

Pour utiliser Wget avec un proxy, vous devez configurer les paramètres adéquats dans votre environnement ou dans la commande Wget elle-même. Il existe plusieurs façons de procéder, et ce tutoriel en couvre quatre : configuration des paramètres de proxy à l’aide de variables d’environnement, définition de proxys pour tous les utilisateurs en mettant à jour le fichier /etc/wgetrc, définition de proxys pour l’utilisateur courant en mettant à jour le fichier ~/.wgetrc et définition de proxy pour l’instance de terminal courante à l’aide de l’indicateur -e. Vous apprendrez également à utiliser Wget avec des proxys authentifiés et non authentifiés.

Vous trouverez toutes les configurations abordées dans cet article dans ce gist GitHub.

Avant de commencer à utiliser Wget avec un proxy, vous devez disposer des éléments suivants :

  • Environnement Linux : Ce guide est conçu pour un système Linux, qui peut être Ubuntu, Fedora, Debian ou toute autre distribution Linux. Assurez-vous que Linux est installé sur votre machine ou dans un environnement virtuel.  
  • Wget : Wget est préinstallé sur la plupart des systèmes Linux. Pour vérifier s’il est installé, ouvrez le terminal et tapez wget --version. Si Wget est installé, la commande renvoie son numéro de version. S’il n’est pas installé, vous pouvez installer Wget en utilisant le gestionnaire de packages de votre distribution, comme apt pour les systèmes basés sur Debian ou yum pour Fedora.
  • Détails du serveur proxy : Pour utiliser Wget avec un proxy, vous avez besoin des détails du serveur proxy. Cela inclut l’adresse IP ou le nom d’hôte du serveur, le numéro de port et, le cas échéant, les informations d’authentification (c’est-à-dire nom d’utilisateur et mot de passe). Vous pouvez obtenir ces informations auprès de votre fournisseur de proxys ou de votre administrateur réseau.  

1. Configurer les paramètres du proxy à l’aide des variables d’environnement  

La façon la plus simple de définir des configurations de proxys pour Wget est de les définir au niveau du système à l’aide de variables d’environnement. Cela permet à plusieurs programmes de lire la valeur et de l’utiliser ; vous n’aurez donc besoin de la modifier qu’une seule fois. La définition du proxy comme variable d’environnement garantit que Wget l’utilise pour toutes les requêtes effectuées à partir de votre ordinateur.

Pour configurer un proxy pour Wget, ajoutez les lignes suivantes à votre fichier de configuration shell (c’est-à-dire .bashrc ou .bash_profile) et remplacez les espaces réservés par l’adresse et le port de votre serveur proxy (c’est-à-dire http://proxy.example.com:8080) :

export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port

Si le proxy nécessite une authentification, au lieu de http://proxy_address:proxy_port, vous devez également ajouter le nom d’utilisateur et le mot de passe dans l’URL pour qu’elle ressemble à ceci :

export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=username:password@proxy_address:proxy_port
export ftp_proxy=username:password@proxy_address:proxy_port

N’oubliez pas de remplacer les variables pour username, password, proxy_address et proxy_port par les valeurs appropriées (c’est-à-dire http_proxy=http://username:[email protected]:8080).

Après avoir ajouté ces lignes, redémarrez votre shell ou exécutez source .bashrc ou source .bash_profile, selon le fichier que vous avez utilisé pour appliquer les modifications.

2. Paramétrer les proxys pour tous les utilisateurs en mettant à jour le fichier /etc/wgetrc  

Si vous devez définir un proxy pour l’ensemble du système. Par exemple, si vous souhaitez utiliser un proxy uniquement lors du téléchargement de fichiers avec Wget afin de protéger votre identité, Wget vous fournit un moyen facile de le faire, soit pour un utilisateur particulier du système, soit pour tous les utilisateurs du système.

Paramétrer le proxy pour tous les utilisateurs du système peut s’avérer utile dans les cas où différents utilisateurs utilisent le même proxy pour effectuer leur travail sur une machine partagée. Wget vous permet de faire en sorte que tous les utilisateurs puissent accéder au proxy avec une configuration unique.

Pour définir un proxy pour tous les utilisateurs, vous devez modifier le fichier de configuration situé dans /etc/wgetrc. Le fichier wgetrc est un fichier d’initialisation qui stocke les paramètres et les options par défaut de Wget. Ce fichier vous permet de personnaliser son comportement de manière à ce qu’il ne soit pas nécessaire de spécifier systématiquement certains arguments en ligne de commande.

Pour paramétrer votre proxy, ouvrez le fichier wgetrc à l’aide de votre éditeur de texte favori et ajoutez les lignes suivantes :

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Pour les proxys authentifiés, utilisez la syntaxe suivante :

https_proxy = http://username:[email protected]:8080
http_proxy = http://username:[email protected]:8080
ftp_proxy = http://username:[email protected]:8080

Remplacez proxy.example.com:8080 et username:password par l’adresse, le port et les informations d’autorisation de votre serveur proxy. Enregistrez le fichier et fermez l’éditeur. Désormais, toutes les requêtes Wget effectuées par un utilisateur de votre système utiliseront le serveur proxy spécifié.

3. Paramétrer les proxys pour l’utilisateur courant en mettant à jour le fichier ~/.wgetrc  

Wget vous permet également de modifier les configurations de votre proxy pour l’utilisateur courant uniquement. Cela peut s’avérer utile si vous êtes dans une situation où le proxy doit avoir accès à des informations d’authentification spécifiques à chaque utilisateur.

Pour paramétrer votre proxy, vous devez créer/modifier le fichier ~/.wgetrc. Il s’agit d’un fichier wgetrc spécifique à l’utilisateur, situé dans votre répertoire racine (~/). Il conserve les configurations qui ne sont affectées que par l’utilisateur courant. Il se peut que le fichier ~/.wgetrc n’existe pas par défaut, en particulier sur les nouvelles installations ou les nouveaux comptes utilisateur Linux, car ce fichier est généralement créé lorsqu’un utilisateur a besoin de personnaliser les paramètres Wget spécifiques à son compte. Si le fichier n’existe pas, vous pouvez le créer.

Une fois que le fichier ~/.wgetrc existe, ouvrez-le dans votre éditeur de texte favori et ajoutez les lignes suivantes :

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Encore une fois, n’oubliez pas de remplacer proxy.example.com:8080 par vos données spécifiques. Cette méthode n’affecte que les requêtes Wget effectuées par l’utilisateur courant. Si vous passez à un autre utilisateur sur la même machine, ces paramètres ne s’appliquent pas.

4. Définir le proxy pour l’instance de terminal courante à l’aide de l’indicateur -e.  

Si vous ne souhaitez pas définir le proxy au niveau du système ou de la commande Wget, vous pouvez le configurer directement lors de l’exécution de la commande Wget. Cette méthode vous permet d’utiliser différents paramètres de proxy pour différentes commandes Wget, ce qui vous offre une plus grande flexibilité.

Pour spécifier la configuration du proxy pour une requête Wget spécifique, utilisez la syntaxe suivante :

# http proxy
wget -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port URL
# https proxy
wget -e use_proxy=yes -e https_proxy=http://proxy_address:proxy_port URL

Dans ce code, URL est l’URL que vous voulez que Wget récupère (par exemple www.google.com).

Pour les proxys authentifiés, vous pouvez utiliser la syntaxe http://username:password@proxy_address:proxy_port pour spécifier le proxy, comme indiqué dans la section précédente.

Cette méthode vous permet de définir un proxy pour une seule requête sans affecter d’autres requêtes, sessions de terminal ou utilisateurs.

Utilisation de Wget  

Heureusement, l’utilisation de Wget est simple. La syntaxe générale de Wget est wget [options] [url] : vous spécifiez d’abord des arguments facultatifs (c’est-à-dire [options]), tels que -e use_proxy=yes, dont nous avons parlé ci-dessus, puis l’[url] que vous voulez récupérer. Il peut s’agir d’un fichier multimédia, tel qu’un document ou même une page web.

La première partie étant facultative, vous pouvez extraire une ressource web en spécifiant wget [url]. Par exemple, l’instruction wget http://example.com/file.pdf permet d’extraire le fichier considéré et de le télécharger sur votre machine locale.

Vous pouvez également télécharger un fichier tout en spécifiant le nom à utiliser pour l’enregistrer sur votre disque. Pour ce faire, utilisez l’argument --output-document :

 wget --output-document=image.jpg https://httpbin.org/image/jpeg

Wget vous permet également de regrouper dans une seule commande vos téléchargements montants et descendants sur plusieurs URL. Pour ce faire, vous devez créer un fichier et y coller vos URL, chacune sur sa propre ligne. Vous pouvez ensuite exécuter la commande suivante :

wget ‐‐input list-of-file-urls.txt

Remarque : si vous utilisez la méthode 4 pour spécifier votre proxy, vous devez ajouter -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port aux commandes précédentes pour les faire fonctionner avec un proxy. Les options 1, 2 et 3 fonctionnent telles quelles car le proxy est déjà configuré.

Conclusion

Dans cet article, vous avez appris quatre méthodes différentes pour utiliser Wget avec un proxy, ainsi que leurs avantages respectifs. Vous pouvez sélectionner la méthode la plus appropriée selon vos préférences, pour appliquer des proxys à l’échelle du système, à tous les utilisateurs, à un utilisateur spécifique ou à une seule requête Wget.

Bien que l’utilisation de Wget avec un proxy présente de nombreux avantages, le choix d’un service de proxys adéquat est essentiel pour optimiser les performances et la fiabilité. Bright Data est une plateforme de données web qui aide les entreprises à extraire d’Internet de gros volumes de données structurées. En utilisant ses solutions de proxys, vous pouvez optimiser votre expérience Wget et réduire votre nombre de requêtes infructueuses, afin d’améliorer la récupération des informations que vous recherchez sur Internet.  

Que vous soyez une start-up ou une grande entreprise, Bright Data vous permet de faire du web scraping sur toutes sortes de sites web et à y collecter des données grâce à ses solutions de proxys et à ses outils dédiés, tels que son Web scraper IDE et son Web Unlocker. Découvrez les proxys de centres de données, les options de serveurs proxys et la tarification proposés par Bright Data pour trouver la solution de réseau de proxys adaptée à vos besoins.  

Vous ne savez pas quel produit choisir ? Contactez le service commercial et trouvez la solution de web scraping qui vous convient.