Utiliser Wget avec un Proxy

Dans cet article, vous allez plonger au cœur de l’univers de Wget et de Linux, en explorant comment intégrer facilement des proxies dans votre flux de travail.
12 min de lecture
Using Wget with a Proxy

GNU Wget est un utilitaire de ligne de commande polyvalent qui est devenu indispensable pour de nombreux utilisateurs Linux qui s’appuient sur lui pour récupérer facilement des fichiers depuis internet. Il est riche en fonctionnalités, facile à utiliser et prend en charge les protocoles réseau courants, notamment HTTP, HTTPS et FTP. De plus, Wget dispose 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 scraping web, la mise en miroir et l’archivage.

L’une des fonctionnalités les plus impressionnantes de Wget est sa capacité à fonctionner de manière transparente avec les proxies. En tant qu’utilisateur Linux, vous aurez souvent besoin d’un Proxy pour masquer votre identité, contourner les restrictions régionales ou améliorer les performances grâce à l’équilibrage de charge. Avec Wget dans votre arsenal, l’intégration des proxies est simple.

Qu’est-ce que Wget ?

Wget, abréviation de « World Wide Web » et « get », est un programme libre et open source permettant d’interagir avec des fichiers sur internet. Il fait partie du Projet GNU, une collaboration massive de logiciels libres.

Wget est doté de fonctionnalités pratiques pour les utilisateurs techniques travaillant avec des fichiers en ligne. Celles-ci comprennent les téléchargements par lots, la reprise des téléchargements interrompus, le téléchargement récursif, la prise en charge des proxies, la planification des téléchargements, la limitation de la Bande passante, un agent utilisateur personnalisable et la prise en charge SSL/TLS. Il est également non interactif, ce qui le rend parfait pour les scripts et les tâches cron s’exécutant en arrière-plan.

Wget est populaire parmi les utilisateurs Linux et Unix et dispose également de versions pour Windows et macOS. La gamme impressionnante de fonctionnalités de Wget et sa compatibilité multiplateforme en font l’outil de référence pour diverses tâches web, comme le téléchargement de fichiers volumineux, l’automatisation des téléchargements et la création de miroirs de sites web.

Utiliser des Proxies avec Wget sous Linux

Il existe une grande variété de proxies, notamment les proxies de centre de données et les IPs résidentielles, chacun ayant ses propres avantages et cas d’utilisation. L’utilisation de proxies avec Wget offre des avantages, tels que le contournement des restrictions géographiques et réseau/FAI. Cela vous permet également de maintenir l’anonymat et la confidentialité lors de la navigation sur le web ou du téléchargement de fichiers.

Avec le bon fournisseur de proxy, les proxies peuvent également être utilisés pour mettre en cache les ressources fréquemment consultées, améliorant ainsi les performances. De plus, les fournisseurs de proxy peuvent influencer vos vitesses réseau, vous aider à contourner les limites de débit en fournissant un large Pool de proxies, et même proposer des solutions pour contourner les captchas. Cela rend le choix du bon fournisseur de proxy essentiel pour garantir que votre proxy fonctionne efficacement, surtout lorsqu’il est utilisé avec Wget.

Configurer Wget avec un Proxy

Pour utiliser Wget avec un Proxy, vous devez configurer les paramètres appropriés 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 : configurer les paramètres de proxy à l’aide de variables d’environnement, définir des proxies pour tous les utilisateurs en mettant à jour le fichier /etc/wgetrc, définir des proxies pour l’utilisateur actuel en mettant à jour le fichier ~/.wgetrc, et définir le proxy pour l’instance de terminal actuelle à l’aide du flag -e. Vous apprendrez également à utiliser Wget avec des proxies authentifiés et non authentifiés.

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

Avant de commencer à utiliser Wget avec un Proxy, vous avez besoin des éléments suivants :

  • Systèmes basés sur Debian
  • 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, si nécessaire, les informations d’authentification (c’est-à-dire le nom d’utilisateur et le mot de passe). Vous pouvez obtenir ces informations auprès de votre fournisseur de proxy ou de votre administrateur réseau.

1. Configurer les Paramètres de Proxy à l’aide de Variables d’Environnement

La façon la plus simple de définir des configurations de proxy 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, de sorte que vous n’avez besoin de la modifier qu’une seule fois. Définir le proxy comme variable d’environnement garantit que Wget l’utilise pour toutes les requêtes effectuées depuis 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 afin 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 usernamepasswordproxy_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. Définir des Proxies 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 pour protéger votre identité, Wget offre un moyen simple de le faire, et cela peut être effectué soit pour un utilisateur individuel du système, soit pour tous les utilisateurs du système.

Définir le proxy pour tous les utilisateurs du système est utile dans les cas où il existe une machine partagée en entreprise avec différents utilisateurs s’appuyant sur le même proxy pour effectuer leur travail. Wget vous permet de configurer le proxy une seule fois afin que tous les utilisateurs puissent y accéder.

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 options par défaut pour Wget. Ce fichier vous permet de personnaliser son comportement sans toujours spécifier des arguments en ligne de commande.

Pour définir le proxy, ouvrez le fichier wgetrc avec votre éditeur de texte préféré 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 proxies 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 identifiants d’autorisation de votre serveur proxy. Enregistrez le fichier et fermez l’éditeur. Désormais, toutes les requêtes Wget effectuées par n’importe quel utilisateur sur votre système utiliseront le serveur proxy spécifié.

3. Définir des Proxies pour l’Utilisateur Actuel en Mettant à Jour le Fichier ~/.wgetrc

Wget vous permet également de modifier les configurations de proxy uniquement pour l’utilisateur actuel. Cela peut être utile si vous vous trouvez dans une situation où les détails du proxy nécessitent des informations d’authentification spécifiques à chaque utilisateur.

Pour définir le 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 personnel (~/). Il stocke les configurations qui n’affectent que l’utilisateur actuel. Le fichier ~/.wgetrc peut ne pas exister par défaut, surtout sur les nouvelles installations Linux ou les comptes utilisateur, car le 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 vous avez le fichier ~/.wgetrc, ouvrez-le dans votre éditeur de texte préféré 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

Là encore, n’oubliez pas de remplacer proxy.example.com:8080 par vos informations spécifiques. Cette méthode n’affecte que les requêtes Wget effectuées par l’utilisateur actuel. 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 Actuelle à l’aide du Flag -e

Si vous ne souhaitez pas définir le proxy au niveau du système ou de 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 des commandes Wget individuelles, vous offrant ainsi une plus grande flexibilité.

Pour spécifier la configuration du proxy pour une seule requête Wget, 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 souhaitez que Wget récupère (par exemple www.google.com).

Pour les proxies 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 les autres requêtes, sessions de terminal ou utilisateurs.

Utiliser Wget

Heureusement, l’utilisation de Wget est simple. La syntaxe générale de Wget est wget [options] [url], où vous spécifiez d’abord des arguments optionnels (c’est-à-dire [options]), tels que le -e use_proxy=yes que vous avez appris précédemment, suivi de l’ [url] que vous souhaitez récupérer. Il peut s’agir d’un fichier multimédia, comme un document ou même une page web.

La première partie étant optionnelle, vous pouvez récupérer une ressource web en spécifiant wget [url]. Par exemple, appeler wget http://example.com/file.pdf récupère le fichier et le télécharge sur votre machine locale.

Vous pouvez également télécharger un fichier en spécifiant le nom à utiliser lors de son enregistrement sur le 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 vos téléchargements et de télécharger depuis plusieurs URL en une seule commande. Pour ce faire, vous devez créer un fichier et coller vos URL, chacune sur sa propre ligne. Après cela, vous pouvez exécuter la commande suivante :

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

Veuillez noter : 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 qu’elles fonctionnent avec un proxy. Les options 1, 2 et 3 fonctionneront telles quelles puisque le proxy est déjà configuré.

Conclusion

Dans cet article, vous avez appris quatre méthodes différentes pour utiliser Wget avec un Proxy et les avantages de le faire. Vous pouvez sélectionner la méthode la plus appropriée selon vos préférences pour appliquer des proxies à 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 offre de nombreux avantages, choisir les bons services de proxy est essentiel pour maximiser les performances et la fiabilité. Bright Data est une infrastructure de données web qui aide les entreprises à collecter de grandes quantités de données structurées sur le web. En utilisant leurs solutions de proxy, vous pouvez améliorer votre expérience Wget et réduire le nombre de requêtes échouées, garantissant une meilleure récupération d’informations depuis internet.

Que vous soyez une start-up ou une entreprise, Bright Data vous aide à scraper des sites web et à collecter des données grâce à leurs solutions de proxy et leurs outils personnalisés, tels que Web Scraper API et Web Unlocker. Explorez les proxies de centre de donnéesles options de serveur proxy et les tarifs de Bright Data pour trouver la solution parfaite pour vos besoins en réseau de proxies.