Comment utiliser Proxy avec cURL et wget ?



Contourner les restrictions avec un serveur proxy en ligne de commande

Avez-vous déjà ressenti de la frustration en étant incapable d’accéder à certains sites web ou services en ligne ?

Souhaitez-vous trouver une solution pour franchir ces barrières et profiter du contenu qui vous intéresse ?

Si c’est le cas, l’utilisation d’un serveur proxy via l’interface de ligne de commande, à l’aide des outils cURL ou wget, pourrait être une excellente option.

Commençons par examiner de plus près la nature d’un proxy et son mode de fonctionnement.

Qu’est-ce qu’un serveur proxy ?

Un serveur proxy se comporte comme un intermédiaire entre votre appareil (qu’il s’agisse d’un ordinateur, d’un téléphone ou autre) et le vaste réseau internet.

Lorsque vous initiez une demande d’accès à un site web ou un service, cette requête n’est pas directement envoyée à la destination. Elle transite d’abord par le serveur proxy.

Le serveur proxy relaie ensuite votre demande au serveur de destination en votre nom, puis réceptionne la réponse de ce serveur.

Enfin, le serveur proxy vous transmet cette réponse. On peut comparer cela à un assistant personnel qui prend en charge toutes les communications entre vous et le serveur de destination.

Mais pourquoi utiliser un serveur proxy dans ce cas ?

Il existe en effet plusieurs raisons justifiant son emploi.

L’utilisation d’un serveur proxy peut s’avérer efficace pour préserver votre confidentialité et votre anonymat. Lors d’une connexion à un site web ou un service via un serveur proxy, votre adresse IP est dissimulée au serveur de destination. Celui-ci ne perçoit que l’adresse IP du proxy. Cela complique la tâche des sites web qui souhaiteraient suivre vos activités en ligne.

Et ce n’est pas tout…

Une autre motivation pour utiliser un serveur proxy est le filtrage de contenu. C’est particulièrement pertinent pour les organisations qui souhaitent contrôler ou limiter l’accès à certains types de contenu.

Les serveurs proxy peuvent être configurés de manière à bloquer l’accès à des sites web spécifiques, en se basant sur des critères tels que des mots-clés ou des catégories d’URL. Cela permet de s’assurer que les employés n’accèdent pas à des sites web inappropriés ou distrayants durant les heures de travail.

Si vous désirez explorer les distinctions clés entre un proxy et un VPN, un article complémentaire est à votre disposition pour approfondir le sujet.

Comment utiliser un proxy avec cURL ?

cURL est un outil en ligne de commande, open source, conçu pour le transfert de données entre serveurs. Son efficacité en fait un outil privilégié pour les professionnels de l’informatique. Sa compatibilité avec de multiples protocoles comme HTTP, FTP et SMTP est un atout majeur.

Il est capable de gérer avec aisance les tâches les plus complexes de transfert de données. De plus, cet outil est doté de méthodes de chiffrement avancées, garantissant la sécurité des données pendant leur transit.

cURL est largement disponible pour une utilisation sur la majorité des systèmes d’exploitation. Si vous constatez son absence sur votre système, rassurez-vous, son téléchargement et installation sont rapides. Suivez simplement les indications ci-dessous pour installer cURL et exploiter tout son potentiel.

Windows

  • Téléchargez l’exécutable cURL depuis le site officiel.
  • Décompressez le fichier zip dans un répertoire de votre ordinateur.
  • Ajoutez le chemin de ce répertoire à la variable d’environnement PATH de votre système.

MacOS

  • Ouvrez l’application Terminal.
  • Installez Homebrew (si ce n’est pas déjà fait) en exécutant cette commande :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Installez ensuite cURL en exécutant la commande suivante :
brew install curl

Linux

Sur la plupart des distributions Linux, cURL est installé par défaut. Si tel n’est pas le cas, vous devrez l’installer en utilisant le gestionnaire de paquets propre à votre distribution.

Par exemple, sur Ubuntu ou Debian, vous pouvez installer cURL en saisissant la commande suivante :

sudo apt-get install curl

Sur CentOS ou Fedora, utilisez la commande ci-dessous :

sudo yum install curl

Une fois cURL installé, vous pouvez vérifier son bon fonctionnement en exécutant la commande « curl –version » dans votre terminal ou invite de commande.

Passons maintenant à notre sujet central.

Vous pouvez utiliser un proxy avec cURL en spécifiant le serveur proxy et le numéro de port dans la commande cURL, en utilisant l’option -x ou –proxy.

Voici la syntaxe de base d’une commande cURL qui utilise un proxy :

curl -x <serveur-proxy>:<numéro-port> <url>

Remplacez <serveur-proxy> par le nom d’hôte ou l’adresse IP du serveur proxy, <numéro-port> par le numéro de port utilisé par le proxy, et <url> par l’URL du site web ou du point de terminaison API que vous souhaitez atteindre.

Voici un exemple concret :

curl -x 5.189.184.6:80  ipinfo.io

Cette commande envoie une requête au site web ipinfo.io en passant par le serveur proxy situé à l’adresse 5.189.184.6 sur le port 80. L’adresse proxy utilisée dans cet exemple provient d’une liste de proxys publiquement accessibles. N’hésitez pas à visiter ce site web si vous recherchez une adresse proxy temporaire. Notez que son utilisation se fait à vos risques et périls ! ☢️

Il est possible que vous deviez également fournir des informations d’authentification au serveur proxy. Dans ce cas, vous pouvez inclure votre nom d’utilisateur et votre mot de passe en utilisant les options « –proxy-user » et « –proxy-password ». Par exemple :

curl -x  5.189.184.6:80 --proxy-user nom_utilisateur:mot_de_passe  <url_cible>

Remplacez « nom_utilisateur » et « mot_de_passe » par vos identifiants d’authentification réels pour le serveur proxy.

Tester la connexion proxy avec cURL

Avant d’utiliser le proxy

Vous pouvez constater que cURL affiche mon adresse IP et ma localisation d’origine. Pour des raisons de sécurité, j’ai masqué mon adresse IP.

Après avoir utilisé un proxy

Ici, cURL affiche l’adresse du proxy à la place de mon adresse IP d’origine.

Comment utiliser un proxy avec wget ?

wget est un utilitaire en ligne de commande permettant le téléchargement de fichiers depuis internet. Il est généralement préinstallé sur les systèmes Linux, Unix et macOS, et disponible pour Windows.

Pour installer wget sur un système Linux, utilisez le gestionnaire de paquets de votre distribution.

Par exemple, sous Debian ou Ubuntu, utilisez cette commande :

sudo apt-get install wget

Sur CentOS ou Fedora :

sudo yum install wget

Sur macOS, installez wget à l’aide de Homebrew :

brew install wget

Sous Windows, téléchargez l’exécutable binaire depuis le site web officiel de GNU et ajoutez-le au chemin système.

Une fois wget installé, vous pouvez télécharger des fichiers en ligne de commande en spécifiant l’URL du fichier souhaité. Par exemple, pour télécharger un fichier nommé « example.zip » depuis un site web, utilisez cette commande :

wget http://example.com/example.zip

Vous pouvez aussi utiliser des options supplémentaires pour personnaliser le téléchargement, telles que la spécification du nom du fichier ou du répertoire de sortie, la limitation de la vitesse de téléchargement et la reprise des téléchargements interrompus. Pour en apprendre davantage sur les options disponibles, consultez le manuel de wget en tapant « man wget » dans votre terminal.

Voyons maintenant la configuration du proxy avec wget.

Commencez par définir les variables d’environnement pour le serveur proxy en exécutant cette commande dans votre terminal :

export http_proxy=http://<serveur_proxy>:<port>
export https_proxy=https://<serveur_proxy>:<port>

Vérifiez si le serveur proxy est correctement configuré en exécutant la commande suivante :

wget <url_cible>

Remplacez <url_cible> par l’URL du fichier ou de la page web que vous voulez télécharger en utilisant le serveur proxy. Si la commande parvient à télécharger le fichier ou la page web, le serveur proxy est correctement configuré. En cas d’échec, vous devrez vérifier vos paramètres et les informations d’identification de votre serveur proxy.

(Facultatif) Pour rendre les paramètres du serveur proxy permanents, vous pouvez ajouter les variables d’environnement à votre fichier de profil de shell, comme ~/.bashrc ou ~/.bash_profile. Ajoutez les lignes suivantes à la fin du fichier :

export http_proxy=http://<serveur_proxy>:<port>
export https_proxy=https://<serveur_proxy>:<port>

Si votre serveur proxy requiert une authentification, vous pouvez inclure votre nom d’utilisateur et votre mot de passe dans les variables « http_proxy » et « https_proxy » :

export http_proxy=http://<nom_utilisateur>:<mot_de_passe>@<serveur_proxy>:<port>
export https_proxy=https://<nom_utilisateur>:<mot_de_passe>@<serveur_proxy>:<port>

Note : Certains serveurs proxy peuvent utiliser un schéma de protocole différent, comme des sockets au lieu de « http » ou « https ». Dans ce cas, ajustez le schéma en conséquence dans les variables d’environnement et les URL.

Tester la connexion proxy avec wget

Avant d’utiliser le proxy

wget affiche mon adresse IP d’origine avant d’utiliser une adresse proxy. Pour des raisons de sécurité, j’ai masqué mon adresse IP.

Après avoir utilisé le proxy

Vous voyez que wget tente d’établir la connexion à un serveur proxy avant d’accéder au site web.

Dépannage des problèmes courants

L’utilisation d’un serveur proxy avec cURL et wget peut parfois poser problème. Pas de panique, voici quelques conseils pour vous remettre sur la bonne voie !

#1. Le serveur proxy ne répond pas

Si votre serveur proxy ne répond pas, il est peut-être en panne ou rencontre des difficultés. Pour comprendre ce qui se passe, suivez ces étapes :

  • Vérifiez si le serveur proxy est opérationnel en envoyant un ping à son adresse IP.
  • Assurez-vous que vous avez saisi l’adresse et le numéro de port corrects du serveur proxy.
  • Essayez d’utiliser un autre serveur proxy pour vérifier si le problème persiste.

#2. Connexion rejetée

Une connexion refusée ?

Ce n’est pas bon signe.

Cette erreur indique en général que le serveur proxy n’accepte pas les connexions. Voici les étapes de résolution :

  • Vérifiez en premier lieu si le serveur proxy est configuré pour accepter les connexions depuis votre adresse IP ou sous-réseau.
  • Assurez-vous que le serveur proxy n’est pas bloqué par un pare-feu ou un antivirus.
  • Vérifiez si le serveur proxy exige des informations d’authentification et assurez-vous d’avoir entré les identifiants corrects.

N’hésitez pas à tester un autre serveur proxy si aucune de ces solutions ne fonctionne.

#3. Échec de la vérification du certificat SSL/TLS

Un échec de vérification du certificat ?

Cela suggère un problème avec le certificat SSL/TLS du serveur proxy.

Pour corriger cela, suivez ces étapes :

  • Vérifiez le certificat du serveur proxy pour vous assurer qu’il est valide et non expiré.
  • Si le certificat n’est pas valide, contactez l’administrateur du serveur proxy pour obtenir un certificat SSL/TLS valide.
  • Si le certificat est valide mais que le problème persiste, désactiver la vérification du certificat SSL/TLS est une option, mais soyez conscient que cela peut compromettre votre sécurité.

#4. Authentification échouée

Si le serveur proxy requiert une authentification et que vous n’arrivez pas à vous authentifier, il est probable que vous ayez saisi un nom d’utilisateur ou un mot de passe incorrect, ou que le serveur proxy utilise une méthode d’authentification différente.

Ajustez vos identifiants d’authentification en conséquence ou contactez l’administrateur du serveur proxy pour obtenir de l’aide.

Note de l’auteur ✍️

De nombreux fournisseurs de proxys, gratuits et payants, sont disponibles sur internet. Une option recommandée pour un usage professionnel est IPRoyal. IPRoyal propose un large éventail de solutions de proxy pour les entreprises, incluant des proxys résidentiels et de centres de données avec plusieurs emplacements et types d’IP au choix.

Il fournit des services proxy fiables et sécurisés pour différents usages, comme le web scraping, l’exploration de données et l’automatisation.

J’espère que cet article vous a été utile pour comprendre comment utiliser un proxy avec les outils en ligne de commande cURL et wget. Vous pourriez également être intéressé par l’apprentissage de l’anonymisation du trafic Linux en utilisant des chaînes de proxy et le réseau Tor.