---
title: "Serveurs proxy Go – Guide Go de configuration de proxies"
slug: go-proxy-servers
date: 2024-03-03T07:24:14+00:00
modified: 2026-04-27T08:43:36+00:00
permalink: https://brightdata.fr/blog/savoir-faire/go-proxy-servers
type: blog
---

[ Blog ](https://brightdata.fr/blog "Blog") / [How Tos](https://brightdata.fr/blog/savoir-faire)







 [How Tos](https://brightdata.fr/blog/savoir-faire)

# Serveurs proxy Go – Guide Go de configuration de proxies

Dans ce guide, vous apprendrez à configuer un serveur proxy pour le moissonnage dans Go.

 28 min de lecture









 ![Setting Proxy in GO](https://media.brightdata.fr/2024/03/Setting-Proxy-in-GO.svg)





Toute interaction sur Internet nécessite l’utilisation d’une adresse IP . Les sites Web utilisent l’adresse IP pour identifier les utilisateurs et déterminer des informations telles que l’emplacement géographique, le fournisseur d’accès internet, le fuseau horaire et le type d’appareil utilisé. Les serveurs Web utilisent ces données pour personnaliser ou limiter l’accès au contenu ou aux ressources. En d’autres termes, lors du moissonnage, les sites Web peuvent bloquer les requêtes provenant d’une adresse IP si elles sont considérées comme présentant un modèle de trafic inhabituel, une activité bot ou des intentions malveillantes. L’utilisation de serveurs proxy peut heureusement permettre de contourner ces restrictions.

Un serveur proxy[ est un intermédiaire entre un utilisateur et Internet.](https://brightdata.fr/proxy-types/proxy-servers) Il reçoit les demandes des utilisateurs, les transmet aux ressources Web et renvoie ensuite les données obtenues. En cachant votre véritable adresse IP, un serveur proxy vous aident à naviguer et à moissonner de manière discrète, renforçant ainsi la sécurité, la confidentialité et l’anonymat.

Les serveurs proxy offrent également la possibilité de contourner les restrictions d’adresse IP en la modifiant, ce qui donne l’impression que les requêtes proviennent de différents utilisateurs. En utilisant des serveurs mandataires situés dans diverses régions, vous pouvez accéder à des contenus géospécifiques, tels que des films ou des actualités, en contournant les blocages géographiques.

Dans ce guide, vous apprendrez à configurer un serveur proxy pour le [moissonnage avec Go](https://brightdata.fr/blog/savoir-faire/web-scraping-go) Vous découvrirez également les serveurs proxy de Bright Data et comment ils peuvent simplifier ce processus.

## <a></a>Configurer un serveur proxy

Dans ce guide, vous apprendrez à modifier une application de moissonnage écrite en Go pour interagir avec le site It’s FOSS via un serveur proxy local ou auto-hébergé. Le guide présuppose que vous avez déjà configuré votre environnement de développement Go.

Pour commencer, vous devez configurer votre serveur proxy en utilisant Squid, un logiciel de serveur proxy open source. Si vous préférez utiliser un autre logiciel de serveur proxy, vous pouvez également le faire. Ici, nous utiliserons Squid sur une boîte Linux Fedora 39. La plupart des distributions Linux utilisent Squid par défaut dans les référentiels. Vous pouvez également consulter la [documentation](https://wiki.squid-cache.org/SquidFaq/BinaryPackages) pour télécharger les packages nécessaires à votre système d’exploitation.

Depuis votre terminal, exécuter la commande suivante pour installer Squid :

```none
dnf install squid -y

```

Une fois terminé, démarrer le service en exécutant la commande ci-après :

```none
sudo systemctl enable --now squid

```

Vérifier l’état du service à l’aide de cette commande :

```none
sudo systemctl status squid

```

La sortie devrait ressembler à ceci :

![Serveurs proxy Go](https://media.brightdata.fr/2024/03/go-proxy-servers.png)

Cela indique que le service est actif et en cours d’exécution. Par défaut, Squid s’exécute et écoute les requêtes sur le port 3128. Utiliser la commande Curl suivante pour tester la communication via le serveur proxy :

```none
curl --proxy 127.0.0.1:3128 "http://lumtest.com/myip.json"

```

Votre réponse devrait ressembler à ceci :

```none
curl --proxy 127.0.0.1:3128 "http://lumtest.com/myip.json"
{"ip":"196.43.196.126","country":"GH","asn":{"asnum":327695,"org_name":"AITI"},"geo":{"city":"","region":"","region_name":"","postal_code":"","latitude":8.1,"longitude":-1.2,"tz":"Africa/Accra"}}

```

Les métadonnées doivent inclure votre adresse IP publique ainsi que le pays et l’organisation propriétaires. Elles servent à confirmer que vous avez installé avec succès un serveur proxy fonctionnel.

## <a></a>Configurer le scraper de démonstration

Pour simplifier votre tâche, une application Go de moissonnage est disponible dans [ce référentiel GitHub](https://github.com/rexfordnyrk/go_scrap_proxy). Cette application capture le titre, le snippet et les catégories des derniers articles sur [It’s FOSS](https://itsfoss.com/), un blog populaire dédié aux logiciels à code source ouvert. Le scraper visite ensuite Lumtest afin d’obtenir des informations sur l’adresse IP utilisée par le client HTTP pour interagir avec le Web. La même logique est implémentée en utilisant trois packages Go différents : Colly, goquery et Selenium. Dans la section suivante, vous apprendrez comment modifier chaque implémentation pour utiliser un serveur proxy.

Pour commencer, cloner le référentiel en exécutant la commande suivante dans votre terminal/shell préféré :

```none
$ git clone https://github.com/rexfordnyrk/go_scrap_proxy.git

```

Ce référentiel se compose de deux branches : la branche `principale` , qui contient le code finalisé, et la branche `de base` , qui contient le code initial que vous allez modifier. Utiliser la commande suivante pour passer de `checkout` à la branche `de base` :

```none
$ git checkout basic

```

Cette branche contient trois fichiers `.go` pour chaque implémentation de bibliothèque du scraper sans qu’un proxy ne soit configuré. Elle contient également un fichier exécutable `chromedriver`, requis par l’implémentation Selenium du scraper :

```none
.
├── chromedriver
├── colly.go
├── go.mod
├── goquery.go
├── go.sum
├── LICENSE
├── README.md
└── selenium.go

1 directory, 8 files

```

Il est possible d’exécuter chacun de ces fichiers individuellement à l’aide de la commande `go run` et le nom du fichier en question. Par exemple, la commande suivante exécute le scraper avec Colly :

```none
go run ./colly.go

```

La sortie devrait ressembler à ceci :

```none
$ go run ./colly.go

Article 0: {"category":"Newsletter ✉️","excerpt":"Unwind your new year celebration with new open-source projects, and keep an eye on interesting distro updates.","title":"FOSS Weekly #24.02: Mixing AI With Linux, Vanilla OS 2, and More"}
Article 1: {"category":"Tutorial","excerpt":"Wondering how to use tiling windows on GNOME? Try the tiling assistant. Here's how it works.","title":"How to Use Tiling Assistant on GNOME Desktop?"}
Article 2: {"category":"Linux Commands","excerpt":"The free command in Linux helps you gain insights on system memory usage (RAM), and more. Here's how to make good use of it.","title":"Free Command Examples"}
Article 3: {"category":"Gaming 🎮","excerpt":"Here are the best tips to make your Linux gaming experience enjoyable.","title":"7 Tips and Tools to Improve Your Gaming Experience on Linux"}
Article 4: {"category":"Newsletter ✉️","excerpt":"The first edition of FOSS Weekly in the year 2024 is here. See, what's new in the new year.","title":"FOSS Weekly #24.01: Linux in 2024, GDM Customization, Distros You Missed Last Year"}
Article 5: {"category":"Tutorial","excerpt":"Wondering which init service your Linux system uses? Here's how to find it out.","title":"How to Check if Your Linux System Uses systemd"}
Article 6: {"category":"Ubuntu","excerpt":"Learn the logic behind each step you have to follow for adding an external repository in Ubuntu and installing packages from it.","title":"Installing Packages From External Repositories in Ubuntu [Explained]"}
Article 7: {"category":"Troubleshoot 🔬","excerpt":"Getting a warning that the boot partition has no space left? Here are some ways you can free up space on the boot partition in Ubuntu Linux.","title":"How to Free Up Space in /boot Partition on Ubuntu Linux?"}
Article 8: {"category":"Ubuntu","excerpt":"Wondering which Ubuntu version you're using? Here's how to check your Ubuntu version, desktop environment and other relevant system information.","title":"How to Check Ubuntu Version Details and Other System Information"}

Check Proxy IP map[asn:map[asnum:29614 org_name:VODAFONE GHANA AS INTERNATIONAL TRANSIT] country:GH geo:map[city:Accra latitude:5.5486 longitude:-0.2012 lum_city:accra lum_region:aa postal_code: region:AA region_name:Greater Accra Region tz:Africa/Accra] ip:197.251.144.148]

```

La sortie contient toutes les informations sur les articles d’ It’s FOSS. Au bas de la sortie, vous trouverez les informations IP renvoyées par Lumtest vous indiquant la connexion actuelle utilisée par le scraper. L’exécution des trois implémentations devrait donner des réponses similaires. Une fois que vous avez testé ces trois implémentations, vous êtes prêt à scraper avec un proxy local.

## <a></a>Implémenter des scrapers avec un proxy local

Dans cette section, vous explorerez les trois implémentations du scraper et les modifierez pour utiliser votre serveur proxy. Chaque fichier `.go` se compose de la fonction `main()` où l’application démarre et de la fonction `ScrapeWithLibrary()` contenant les instructions pour le scraper.

## <a></a>Utiliser goquery avec un proxy local

goquery est une bibliothèque pour Go qui fournit un ensemble de méthodes et de fonctionnalités pour analyser et manipuler des documents HTML, de la même manière que jQuery fonctionne pour JavaScript. Goquery est particulièrement utile pour le moissonnage car elle permet de parcourir, d’interroger et de manipuler la structure des pages HTML. Cependant, cette bibliothèque ne gère pas les requêtes réseau ou les opérations d’aucune sorte, ce qui signifie que vous devez obtenir et ensuite lui fournir la page HTML.

Si vous naviguez jusqu’au fichier `goquery.go` , vous trouverez l’implémentation goquery du scraper. L’ouvrir dans votre IDE ou éditeur de texte préféré.

Dans la fonction `ScrapeWithGoQuery()` , modifier le transport du client HTTP avec l’URL de votre serveur proxy HTTP, une combinaison du nom d’hôte ou de l’adresse IP et du port au format `http://HOST:PORT`.

Veiller à importer le package `net/url` dans ce fichier. Coller et remplacer la définition du client HTTP par le snippet suivant :

```none
...

func ScrapeWithGoquery() {
    // Define the URL of the proxy server
    proxyStr := "http://127.0.0.1:3128"

    // Parse the proxy URL
    proxyURL, err := url.Parse(proxyStr)
    if err != nil {
        fmt.Println("Error parsing proxy URL:", err)
        return
    }

    //Create an http.Transport that uses the proxy
    transport := &http.Transport{
        Proxy: http.ProxyURL(proxyURL),
    }

    // Create an HTTP client with the transport
    client := &http.Client{
        Transport: transport,
    }

...

```

Ce snippet modifie le client HTTP avec un transport configuré pour utiliser le serveur proxy local. S’assurer de remplacer l’adresse IP par l’adresse IP de votre serveur proxy.

Exécuter maintenant cette implémentation à l’aide de la commande suivante depuis le répertoire du projet :

```none
go run ./goquery.go

```

La sortie devrait ressembler à ceci :

```none
$ go run ./goquery.go

Article 0: {"category":"Newsletter ✉️","excerpt":"Unwind your new year celebration with new open-source projects, and keep an eye on interesting distro updates.","title":"FOSS Weekly #24.02: Mixing AI With Linux, Vanilla OS 2, and More"}
Article 1: {"category":"Tutorial","excerpt":"Wondering how to use tiling windows on GNOME? Try the tiling assistant. Here's how it works.","title":"How to Use Tiling Assistant on GNOME Desktop?"}
Article 2: {"category":"Linux Commands","excerpt":"The free command in Linux helps you gain insights on system memory usage (RAM), and more. Here's how to make good use of it.","title":"Free Command Examples"}
Article 3: {"category":"Gaming 🎮","excerpt":"Here are the best tips to make your Linux gaming experience enjoyable.","title":"7 Tips and Tools to Improve Your Gaming Experience on Linux"}
Article 4: {"category":"Newsletter ✉️","excerpt":"The first edition of FOSS Weekly in the year 2024 is here. See, what's new in the new year.","title":"FOSS Weekly #24.01: Linux in 2024, GDM Customization, Distros You Missed Last Year"}
Article 5: {"category":"Tutorial","excerpt":"Wondering which init service your Linux system uses? Here's how to find it out.","title":"How to Check if Your Linux System Uses systemd"}
Article 6: {"category":"Ubuntu","excerpt":"Learn the logic behind each step you have to follow for adding an external repository in Ubuntu and installing packages from it.","title":"Installing Packages From External Repositories in Ubuntu [Explained]"}
Article 7: {"category":"Troubleshoot 🔬","excerpt":"Getting a warning that the boot partition has no space left? Here are some ways you can free up space on the boot partition in Ubuntu Linux.","title":"How to Free Up Space in /boot Partition on Ubuntu Linux?"}
Article 8: {"category":"Ubuntu","excerpt":"Wondering which Ubuntu version you're using? Here's how to check your Ubuntu version, desktop environment and other relevant system information.","title":"How to Check Ubuntu Version Details and Other System Information"}

Check Proxy IP map[asn:map[asnum:29614 org_name:VODAFONE GHANA AS INTERNATIONAL TRANSIT] country:GH geo:map[city:Accra latitude:5.5486 longitude:-0.2012 lum_city:accra lum_region:aa postal_code: region:AA region_name:Greater Accra Region tz:Africa/Accra] ip:197.251.144.148]

```

## <a></a>Utiliser Colly avec un proxy local

Colly est un framework de moissonnage efficace et polyvalent pour Go, réputé pour son API conviviale et son intégration transparente avec des bibliothèques d’analyse HTML comme `goquery`. Contrairement à `goquery`, Colly prend en charge et fournit une API pour gérer divers comportements liés au réseau. Cela inclut les requêtes asynchrones pour le moissonnage à haut débit, la mise en cache locale et la limitation du débit pour assurer une utilisation efficace et responsable des ressources Web, la gestion automatique des cookies et des sessions, les agents utilisateurs personnalisables et la gestion complète des erreurs. De plus, Colly prend en charge l’utilisation de proxy avec commutation ou rotation et il peut être étendu à des tâches telles que l’extraction de contenu généré par JavaScript, en s’intégrant à des navigateurs headless.

Ouvrir le fichier `colly.go` dans votre éditeur ou votre IDE et coller les lignes de code suivantes, immédiatement après avoir initialisé un nouveau collecteur dans la fonction `ScrapeWithColly()` :

```none
...
    // Define the URL of the proxy server
    proxyStr := "http://127.0.0.1:3128"
    // SetProxy sets a proxy for the collector
    if err := c.SetProxy(proxyStr); err != nil {
        log.Fatalf("Error setting proxy configuration: %v", err)
    }

...

```

Ce snippet utilise la méthode `setProxy()` de Colly pour définir le serveur proxy à utiliser par cette instance de collecteur pour les requêtes réseau.

Exécuter maintenant cette implémentation à l’aide de la commande suivante depuis le répertoire du projet :

```none
go run ./colly.go

```

La sortie devrait ressembler à ceci :

```none
$ go run ./colly.go

Article 0: {"category":"Newsletter ✉️","excerpt":"Unwind your new year celebration with new open-source projects, and keep an eye on interesting distro updates.","title":"FOSS Weekly #24.02: Mixing AI With Linux, Vanilla OS 2, and More"}
Article 1: {"category":"Tutorial","excerpt":"Wondering how to use tiling windows on GNOME? Try the tiling assistant. Here's how it works.","title":"How to Use Tiling Assistant on GNOME Desktop?"}
Article 2: {"category":"Linux Commands","excerpt":"The free command in Linux helps you gain insights on system memory usage (RAM), and more. Here's how to make good use of it.","title":"Free Command Examples"}
Article 3: {"category":"Gaming 🎮","excerpt":"Here are the best tips to make your Linux gaming experience enjoyable.","title":"7 Tips and Tools to Improve Your Gaming Experience on Linux"}
Article 4: {"category":"Newsletter ✉️","excerpt":"The first edition of FOSS Weekly in the year 2024 is here. See, what's new in the new year.","title":"FOSS Weekly #24.01: Linux in 2024, GDM Customization, Distros You Missed Last Year"}
Article 5: {"category":"Tutorial","excerpt":"Wondering which init service your Linux system uses? Here's how to find it out.","title":"How to Check if Your Linux System Uses systemd"}
Article 6: {"category":"Ubuntu","excerpt":"Learn the logic behind each step you have to follow for adding an external repository in Ubuntu and installing packages from it.","title":"Installing Packages From External Repositories in Ubuntu [Explained]"}
Article 7: {"category":"Troubleshoot 🔬","excerpt":"Getting a warning that the boot partition has no space left? Here are some ways you can free up space on the boot partition in Ubuntu Linux.","title":"How to Free Up Space in /boot Partition on Ubuntu Linux?"}
Article 8: {"category":"Ubuntu","excerpt":"Wondering which Ubuntu version you're using? Here's how to check your Ubuntu version, desktop environment and other relevant system information.","title":"How to Check Ubuntu Version Details and Other System Information"}

Check Proxy IP map[asn:map[asnum:29614 org_name:VODAFONE GHANA AS INTERNATIONAL TRANSIT] country:GH geo:map[city:Accra latitude:5.5486 longitude:-0.2012 lum_city:accra lum_region:aa postal_code: region:AA region_name:Greater Accra Region tz:Africa/Accra] ip:197.251.144.148]

```

## <a></a>Utiliser Selenium avec un proxy local

Selenium est un outil principalement utilisé pour automatiser les interactions avec le navigateur Web dans le cadre de tests d’applications. Il est capable d’effectuer des tâches telles que cliquer sur des boutons, saisir du texte et extraire des données de pages Web, ce qui le rend idéal pour récupérer du contenu avec des interactions automatisées. L’imitation des interactions réelles des utilisateurs est rendue possible par WebDriver, que Selenium utilise pour contrôler les navigateurs. Bien que cet exemple utilise Chrome, Selenium est également compatible avec d’autres navigateurs, notamment Firefox, Safari et Internet Explorer.

Le service Selenium WebDriver vous permet de fournir un proxy et d’autres configurations pour influencer le comportement du navigateur sous-jacent lors de l’interaction avec le Web, tout comme un navigateur réel. Programmatiquement, cela peut être configuré via la définition `selenium.Capabilities{}` .

Pour utiliser Selenium avec un proxy local, modifier le fichier `selenium.go` dans `ScrapeWithSelenium()` et remplacer la définition `selenium.Capabilities{}` par le snippet suivant :

```none
...

    // Define proxy settings
    proxy := selenium.Proxy{
        Type: selenium.Manual,
        HTTP: "127.0.0.1:3128", // Replace with your proxy settings
        SSL:  "127.0.0.1:3128", // Replace with your proxy settings
    }

    // Configuring the WebDriver instance with the proxy
    caps := selenium.Capabilities{
        "browserName": "chrome",
        "proxy":       proxy,
    }

...

```

Ce dernier définit les différents paramètres de proxy pour Selenium et est utilisé pour configurer les fonctionnalités de Selenium pour le WebDriver. Lors de la prochaine exécution, la connexion proxy sera utilisée.

Exécuter maintenant l’implémentation à l’aide de la commande ci-après depuis le répertoire du projet :

```none
go run ./selenium.go

```

La sortie devrait ressembler à ceci :

```none
$ go run ./selenium.go

Article 0: {"category":"Newsletter ✉️","excerpt":"Unwind your new year celebration with new open-source projects, and keep an eye on interesting distro updates.","title":"FOSS Weekly #24.02: Mixing AI With Linux, Vanilla OS 2, and More"}
Article 1: {"category":"Tutorial","excerpt":"Wondering how to use tiling windows on GNOME? Try the tiling assistant. Here's how it works.","title":"How to Use Tiling Assistant on GNOME Desktop?"}
Article 2: {"category":"Linux Commands","excerpt":"The free command in Linux helps you gain insights on system memory usage (RAM), and more. Here's how to make good use of it.","title":"Free Command Examples"}
Article 3: {"category":"Gaming 🎮","excerpt":"Here are the best tips to make your Linux gaming experience enjoyable.","title":"7 Tips and Tools to Improve Your Gaming Experience on Linux"}
Article 4: {"category":"Newsletter ✉️","excerpt":"The first edition of FOSS Weekly in the year 2024 is here. See, what's new in the new year.","title":"FOSS Weekly #24.01: Linux in 2024, GDM Customization, Distros You Missed Last Year"}
Article 5: {"category":"Tutorial","excerpt":"Wondering which init service your Linux system uses? Here's how to find it out.","title":"How to Check if Your Linux System Uses systemd"}
Article 6: {"category":"Ubuntu","excerpt":"Learn the logic behind each step you have to follow for adding an external repository in Ubuntu and installing packages from it.","title":"Installing Packages From External Repositories in Ubuntu [Explained]"}
Article 7: {"category":"Troubleshoot 🔬","excerpt":"Getting a warning that the boot partition has no space left? Here are some ways you can free up space on the boot partition in Ubuntu Linux.","title":"How to Free Up Space in /boot Partition on Ubuntu Linux?"}
Article 8: {"category":"Ubuntu","excerpt":"Wondering which Ubuntu version you're using? Here's how to check your Ubuntu version, desktop environment and other relevant system information.","title":"How to Check Ubuntu Version Details and Other System Information"}

Check Proxy IP {"ip":"197.251.144.148","country":"GH","asn":{"asnum":29614,"org_name":"VODAFONE GHANA AS INTERNATIONAL TRANSIT"},"geo":{"city":"Accra","region":"AA","region_name":"Greater Accra Region","postal_code":"","latitude":5.5486,"longitude":-0.2012,"tz":"Africa/Accra","lum_city":"accra","lum_region":"aa"}}

```

Bien que vous puissiez assurer vous-même la maintenance d’un serveur proxy, vous êtes confronté(e) à divers défis, notamment la nécessité de configurer de nouveaux serveurs dans différentes régions ainsi que d’autres problèmes liés à maintenance et de sécurité.

## <a></a>Serveurs proxy Bright Data

Bright Data propose une infrastructure réseau proxy mondiale primée avec un ensemble complet de serveurs proxy et de services pouvant être utilisés à diverses fins de collecte de données Web.

Grâce au réseau mondial étendu de serveurs mandataires Brigh Data, vous pouvez facilement accéder à des données et les collecter à partir de différents sites internationaux. Bright Data fournit également une gamme de types de proxy, dont plus de 350 millions de proxies uniques [résidentiels](https://brightdata.fr/proxy-types/residential-proxies), [ISP](https://brightdata.fr/proxy-types/isp-proxies), [datacenter](https://brightdata.fr/proxy-types/datacenter-proxies)et [mobiles](https://brightdata.fr/proxy-types) , chacun offrant ses propres avantages, tels que la légitimité, la vitesse et la fiabilité, pour des tâches spécifiques de collecte de données.

En outre, le système de rotation de proxy de Bright Data garantit un anonymat optimal et minimise la détection, ce qui le rend idéal pour la collecte de données en continu et à grande échelle.

## <a></a>Configurer un proxy résidentiel avec Bright Data

Il est facile d’obtenir un proxy résidentiel avec Bright Data. Il vous suffit de vous inscrire pour un essai gratuit. Une fois inscrit(e), vous verrez apparaître ce qui suit :

![Tableau de bord BD](https://media.brightdata.fr/2024/03/BD-dash-go-proxies-1.png)Cliquer sur le bouton **Démarrer** pour **Proxies résidentiels**.

Le formulaire suivant devra alors être renseigné :

![Configuration de proxies résidentiels BD](https://media.brightdata.fr/2024/03/BD-res-proxies.png)Nommer cette instance. Ici, il s’agit de `my_go_demo_proxy`. Vous devez également spécifier le type d’IP à provisionner : sélectionner **Partagé** (si vous souhaitez [utiliser des proxies partagés](https://brightdata.fr/solutions/shared-proxies)). Indiquer ensuite le niveau de géolocalisation que vous souhaitez imiter lors de l’accès au contenu Web. Par défaut, il s’agit du niveau ou de la zone du **pays** . Indiquer également si vous souhaitez que les pages Web demandées soient mises en cache. Pour l’instant, désactiver la mise en cache.

Après avoir renseigné ces informations, cliquer sur **Ajouter** pour créer et mettre en place votre proxy résidentiel.

Activer ensuite celui-ci. En tant que nouvel utilisateur, il vous sera d’abord demandé de fournir vos informations de facturation. Une fois cette étape terminée, accéder à votre tableau de bord et cliquer sur le proxy résidentiel que vous venez de créer :

![Configurer des proxies dans Go](https://media.brightdata.fr/2024/03/set-up-proxies-in-go.png)

> S’assurer que l’onglet **Paramètres d’accès** est sélectionné.

Vous trouverez ici les différents paramètres nécessaires à l’utilisation du proxy résidentiel, tels que l’hôte, le port et les informations d’authentification. Vous aurez bientôt besoin de ces informations.

Il est maintenant temps d’intégrer votre proxy résidentiel Bright Data aux trois implémentations du scraper. Il s’agit d’un processus similaire à celui qui a été effectué pour le serveur local, mais vous devez également inclure l’authentification. De plus, en interagissant avec le Web de manière programmatique, il ne sera peut-être pas possible d’examiner et d’accepter les certificats SSL du serveur proxy comme vous le feriez dans un navigateur doté d’une interface utilisateur graphique. Vous devez donc désactiver programmatiquement la vérification des certificats SSL sur votre client Web pour que vos requêtes ne soient pas interrompues.

Commencer par créer un annuaire appelé `brightdata` dans l’annuaire du projet et y copier les trois fichiers `.go```. La structure de votre annuaire devrait maintenant ressembler à ceci :

```none
.
├── brightdata
│   ├── colly.go
│   ├── goquery.go
│   └── selenium.go
├── chromedriver
├── colly.go
├── go.mod
├── goquery.go
├── go.sum
├── LICENSE
├── README.md
└── selenium.go

2 directories, 11 files

```

Par la suite, vous modifierez les fichiers de l’annuaire `brightdata` .

## <a></a>Utiliser goquery avec un proxy résidentiel Bright Data

Dans la fonction `ScrapeWithGoQuery()` , modifier la variable `proxieStr` pour inclure les informations d’authentification dans l’URL du proxy au format `http://USERNAME:PASSWORD@HOST:PORT`. Remplacer la définition actuelle par le snippet suivant :

```none
...

func ScrapeWithGoquery() {
    // Define the proxy server with username and password
    proxyUsername := "username" //Your residential proxy username
    proxyPassword := "your_password" //Your Residential Proxy password here
    proxyHost := "server_host" //Your Residential Proxy Host
    proxyPort := "server_port"  //Your Port here

    proxyStr := fmt.Sprintf("http://%s:%s@%s:%s", url.QueryEscape(proxyUsername), url.QueryEscape(proxyPassword), proxyHost, proxyPort)

    // Parse the proxy URL
...

```

Modifier ensuite le transport du client HTTP avec une configuration permettant d’ignorer la vérification du certificat SSL/TLS du serveur proxy. Commencer par ajouter le package `crypto/tls` à vos importations. Remplacer ensuite la définition `http.Transport` par le snippet suivant après avoir analysé l’URL du proxy :

```none
...

func ScrapeWithGoquery() {

    // Parse the proxy URL
...

    //Create an http.Transport that uses the proxy
    transport := &http.Transport{
        Proxy: http.ProxyURL(proxyURL),
        TLSClientConfig: &tls.Config{
            InsecureSkipVerify: true, // Disable SSL certificate verification
        },
    }

    // Create an HTTP client with the transport
...

```

Ce snippet modifie le client HTTP avec un transport configuré pour utiliser le serveur proxy local. S’assurer de remplacer l’adresse IP par celle de votre serveur proxy.

Exécuter maintenant cette implémentation à l’aide de la commande suivante depuis l’annuaire du projet :

```none
go run brightdata/goquery.go

```

La sortie devrait ressembler à ceci :

```none
$ go run brightdata/goquery.go

Article 0: {"category":"Newsletter ✉️","excerpt":"Open source rival to Twitter, a hyped new terminal and a cool new Brave/Chrome feature among many other things.","title":"FOSS Weekly #24.07: Fedora Atomic Distro, Android FOSS Apps, Mozilla Monitor Plus and More"}
Article 1: {"category":"Explain","excerpt":"Intel makes things confusing, I guess. Let's try making the processor naming changes simpler.","title":"Intel Processor Naming Changes: All You Need to Know"}
Article 2: {"category":"Linux Commands","excerpt":"The Cut command lets you extract a part of the file to print without affecting the original file. Learn more here.","title":"Cut Command Examples"}
Article 3: {"category":"Raspberry Pi","excerpt":"A UART attached to your Raspberry Pi can help you troubleshoot issues with your Raspberry Pi. Here's what you need to know.","title":"Using a USB Serial Adapter (UART) to Help Debug Your Raspberry Pi"}
Article 4: {"category":"Newsletter ✉️","excerpt":"Damn Small Linux resumes development after 16 years.","title":"FOSS Weekly #24.06: Ollama AI, Zorin OS Upgrade, Damn Small Linux, Sudo on Windows and More"}
Article 5: {"category":"Tutorial","excerpt":"Zorin OS now provides a way to upgrade to a newer major version. Here's how to do that.","title":"How to upgrade to Zorin OS 17"}
Article 6: {"category":"Ubuntu","excerpt":"Learn the logic behind each step you have to follow for adding an external repository in Ubuntu and installing packages from it.","title":"Installing Packages From External Repositories in Ubuntu [Explained]"}
Article 7: {"category":"Troubleshoot 🔬","excerpt":"Getting a warning that the boot partition has no space left? Here are some ways you can free up space on the boot partition in Ubuntu Linux.","title":"How to Free Up Space in /boot Partition on Ubuntu Linux?"}
Article 8: {"category":"Ubuntu","excerpt":"Wondering which Ubuntu version you’re using? Here’s how to check your Ubuntu version, desktop environment and other relevant system information.","title":"How to Check Ubuntu Version Details and Other System Information"}

Check Proxy IP map[asn:map[asnum:7922 org_name:COMCAST-7922] country:US geo:map[city:Crown Point latitude:41.4253 longitude:-87.3565 lum_city:crownpoint lum_region:in postal_code:46307 region:IN region_name:Indiana tz:America/Chicago] ip:73.36.77.244]

```

Vous remarquerez que même si vous moissonnez les mêmes articles, la vérification de l’adresse IP du proxy a renvoyé des informations différentes, indiquant que vous naviguez depuis un lieu ou un pays différent.

## <a></a>Utiliser Colly avec un proxy résidentiel Bright Data

Même si Colly ne fournit pas de méthode pour désactiver la vérification SSL/TLS programmatiquement, il offre une alternative où vous pouvez fournir votre propre `transport` à utiliser par son client HTTP.

Avec le fichier `colly.go` ouvert dans votre éditeur ou votre IDE, coller les lignes de code suivantes après avoir initialisé un nouveau collecteur dans la fonction `ScrapeWithColly()` (ne pas oublier d’ajouter les importations `net/url` et `net/http`) :

```none
...
func ScrapeWithColly() {
    ...

    //Create an http.Transport that uses the proxy
    transport := &http.Transport{
        TLSClientConfig: &tls.Config{
            InsecureSkipVerify: true, // Disable SSL certificate verification
        },
    }

    // Set the collector instance to use the configured transport
    c.WithTransport(transport)


...

```

Ce snippet définit un transport HTTP avec la vérification SSL désactivée et utilise la méthode Colly `WithTransport()` pour définir le transport du collecteur pour les requêtes réseau.

Modifier la variable `proxyStr` afin qu’elle contienne les informations d’identification du proxy résidentiel (comme vous l’avez déjà fait pour goquery). Remplacer la ligne `proxyStr` par le snippet suivant :

```none
...

    // Define the proxy server with username and password
    proxyUsername := "username" //Your residential proxy username
    proxyPassword := "your_password" //Your Residential Proxy password here
    proxyHost := "server_host" //Your Residential Proxy Host
    proxyPort := "server_port"  //Your Port here

    proxyStr := fmt.Sprintf("http://%s:%s@%s:%s", url.QueryEscape(proxyUsername), url.QueryEscape(proxyPassword), proxyHost, proxyPort)

...

```

Ne pas oublier de remplacer les valeurs de chaîne par celles de la page **Paramètres d’accès** de votre proxy résidentiel.

Exécuter ensuite cette implémentation à l’aide de la commande ci-après depuis l’annuaire du projet :

```none
go run brightdata/colly.go

```

```none
go run brightdata/colly.go
…

Check Proxy IP map[asn:map[asnum:2856 org_name:British Telecommunications PLC] country:GB geo:map[city:Turriff latitude:57.5324 longitude:-2.3883 lum_city:turriff lum_region:sct postal_code:AB53 region:SCT region_name:Scotland tz:Europe/London] ip:86.180.236.254]

```

Dans la partie « Vérifier l’adresse IP du proxy » de la sortie, vous remarquerez le changement de pays même si des informations d’identification identiques sont utilisées.

## <a></a>Utiliser Sélénium avec un proxy résidentiel Bright Data

Lorsque vous travaillez avec Selenium, vous devez modifier la définition `selenium.Proxy{}` pour utiliser la chaîne d’URL du proxy avec les informations d’identification. Remplacer la définition du proxy actuelle par la suivante :

```none
...

    // Define the proxy server with username and password
    proxyUsername := "username"      //Your residential proxy username
    proxyPassword := "your_password" //Your Residential Proxy password here
    proxyHost := "server_host"       //Your Residential Proxy Host
    proxyPort := "server_port"       //Your Port here

    proxyStr := fmt.Sprintf("http://%s:%s@%s:%s", url.QueryEscape(proxyUsername), url.QueryEscape(proxyPassword), proxyHost, proxyPort)

    // Define proxy settings
    proxy := selenium.Proxy{
        Type: selenium.Manual,
        HTTP: proxyStr,
        SSL:  proxyStr,
    }

...

```

> Ne pas oublier d’importer le package `net/url`.

Ce snippet définit les différents paramètres du proxy et est fusionné pour créer l’URL du proxy utilisée dans sa configuration.

À présent, configurer le Chrome WebDriver avec des options permettant de désactiver la vérification SSL lors de l’utilisation du proxy résidentiel, de la même manière que pour les implémentations précédentes. Pour cela, modifier les arguments de définition `chromeCaps` pour inclure l’option `--ignore-certificate-errors` comme suit :

```none
...
    caps.AddChrome(chrome.Capabilities{Args: []string{
        "--headless=new", // Start browser without UI as a background process
        "--ignore-certificate-errors", // // Disable SSL certificate verification
    }})
...

```

Par défaut, Selenium ne prend pas en charge la configuration d’un proxy authentifié. Cependant, vous pouvez contourner ce problème en utilisant un package pour créer une extension Chrome et obtenir une connexion proxy authentifiée.

Tout d’abord, ajouter le package à votre projet à l’aide de la commande `go get` :

```none
go get https://github.com/rexfordnyrk/proxyauth

```

Puis importer le package dans le fichier `brightdata/selenium.go` en ajoutant la ligne `"github.com/rexfordnyrk/proxyauth"` dans le bloc d’importation situé en haut du fichier.

Créer maintenant l’extension Chome à l’aide de la méthode `BuildExtension()` du package proxyauth et lui transmettre vos informations d’identification du proxy résidentiel Bright Data. Pour cela, coller le snippet suivant après la définition `chromeCaps` mais avant la ligne `caps.AddChrome(chromeCaps)` :

```none
…
    //Building proxy auth extension using BrightData Proxy credentials
    extension, err := proxyauth.BuildExtention(proxyHost, proxyPort, proxyUsername, proxyPassword)
    if err != nil {
        log.Fatal("BuildProxyExtension Error:", err)
    }

    //including the extension to allow proxy authentication in chrome
    if err := chromeCaps.AddExtension(extension); err != nil {
        log.Fatal("Error adding Extension:", err)
    }

…

```

Ce snippet crée une extension Chrome et l’ajoute au Chrome WebDriver pour activer des requêtes Web authentifiées via les informations d’identification du proxy fournies.

Vous pouvez exécuter cette implémentation à l’aide de cette commande depuis l’annuaire du projet :

```none
go run brightdata/selenium.go

```

La sortie devrait ressembler à ceci :

```none
$ go run brightdata/selenium.go

Article 0: {"categoryText":"Newsletter ✉️","excerpt":"Check out the promising new features in Ubuntu 24.04 LTS and a new immutable distro.","title":"FOSS Weekly #24.08: Ubuntu 24.04 Features, Arkane Linux, grep, Fedora COSMIC and More"}
…
Article 8: {"categoryText":"Ubuntu","excerpt":"Wondering which Ubuntu version you’re using? Here’s how to check your Ubuntu version, desktop environment and other relevant system information.","title":"How to Check Ubuntu Version Details and Other System Information"}

Check Proxy IP {"ip":"176.45.169.166","country":"SA","asn":{"asnum":25019,"org_name":"Saudi Telecom Company JSC"},"geo":{"city":"Riyadh","region":"01","region_name":"Riyadh Region","postal_code":"","latitude":24.6869,"longitude":46.7224,"tz":"Asia/Riyadh","lum_city":"riyadh","lum_region":"01"}}

```

Encore une fois, si vous examinez les informations IP au bas de la sortie, vous remarquerez qu’un autre pays est également utilisé pour envoyer la demande. Voici donc le système de rotation du proxy Bright Data en action.

Comme vous pouvez le constater, utiliser Bright Data dans votre application Go est très simple. Pour commencer, créer le proxy résidentiel sur la plateforme Bright Data et obtenir vos informations d’identification. Ensuite, utiliser ces informations pour modifier votre code afin d’utiliser le proxy pour le Web.

## <a></a>Conclusion

Les serveurs proxy Web jouent un rôle crucial dans les interactions personnalisées des utilisateurs sur Internet. Dans ce guide, vous avez acquis une compréhension approfondie des serveurs proxy et appris comment configurer un serveur proxy auto-hébergé à l’aide de Squid. De plus, vous avez découvert comment intégrer un serveur proxy local dans vos applications Go, comme dans le cas d’un scraper.

Si vous envisagez de travailler avec des serveurs proxy, Bright Data est une option à considérer. Son réseau proxy de pointe peut vous aider à collecter rapidement des données sans vous soucier de l’infrastructure ou de la maintenance supplémentaire.



Contacter ventesEssai gratuit![google social icon](/wp-content/themes/brightdata/assets/images/ic_google.svg)









 Table des matières







Dedicated Scraper APIs &amp; No-Code Scrapers

Over 1000 scrapers for all popular domains. Simplify your web scraping.

[See pricing](/pricing/web-scraper "See pricing")

Just want data? Skip scraping.

Hundreds of ready-to-use datasets from all popular domains.

[See pricing](/pricing/datasets "See pricing")







 [ ](https://news.ycombinator.com/submitlink?t=Serveurs+proxy+Go%C2%A0%E2%80%93%C2%A0Guide%C2%A0Go+de+configuration+de+proxies&u=https://brightdata.fr/blog/savoir-faire/go-proxy-servers) [ ](https://www.linkedin.com/shareArticle?mini=true&title=Serveurs+proxy+Go%C2%A0%E2%80%93%C2%A0Guide%C2%A0Go+de+configuration+de+proxies&url=https://brightdata.fr/blog/savoir-faire/go-proxy-servers) [ ](http://www.reddit.com/submit?title=Serveurs+proxy+Go%C2%A0%E2%80%93%C2%A0Guide%C2%A0Go+de+configuration+de+proxies&url=https://brightdata.fr/blog/savoir-faire/go-proxy-servers)







##  Vous pourriez aussi être intéressé par

 [ ![Best scraping proxies](https://media.brightdata.fr/2023/07/Best-web-scraping-proxies.svg) ](https://brightdata.fr/blog/abc-du-proxy/best-scraping-proxies-guide "Meilleurs Proxies pour le Scraping Web : Principaux Fournisseurs et Types Comparés")

 [Proxy 101



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Meilleurs Proxies pour le Scraping Web : Principaux Fournisseurs et Types Comparés

Quels sont les meilleurs proxies pour le scraping ? Découvrez les différents types de Proxy et voyez quel type convient le mieux à vos besoins de Scraping web.



 25-Jul-2023

 13 min de lecture

 ](https://brightdata.fr/blog/abc-du-proxy/best-scraping-proxies-guide)

 [ ![OpenHuman with Bright Data](https://media.brightdata.fr/2026/09/OpenHuman-with-Bright-Data.png) ](https://brightdata.fr/blog/ai/openhuman-with-bright-data "Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data")

 [AI



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Accès Web Prêt pour la Production dans OpenHuman via le CLI Bright Data

Intégrez le CLI Bright Data avec OpenHuman pour permettre un accès web prêt pour la production et la collecte de données pour les agents IA.



 09-Sep-2026

 14 min de lecture

 ](https://brightdata.fr/blog/ai/openhuman-with-bright-data)

 [ ![Multimodal Web Scraping with MiniMax](https://media.brightdata.fr/2026/09/Multimodal-Web-Scraping-with-MiniMax.png) ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax "Scraping Web Multimodal avec MiniMax")

 [Données Web



 ![Antonello Zanini](https://media.brightdata.fr/2022/12/Antonello-Zanini-2-50x50.jpg)

Antonello Zanini

Technical Writer





### Scraping Web Multimodal avec MiniMax

Associez Bright Data Web Unlocker avec la vision MiniMax M3 pour extraire des données structurées à partir d’images et de captures d’écran de pages web.



 09-Sep-2026

 5 min de lecture

 ](https://brightdata.fr/blog/donnees-web/multimodal-web-scraping-with-minimax)
