Перейти к содержимому
Гайды 1 мин чтения 973 просмотров

Использование прокси в Go (Golang)

Использование прокси в Go (Golang)

Использование прокси в Go (Golang)

Использование прокси в Go позволяет маршрутизировать исходящие HTTP/HTTPS запросы через промежуточный сервер, обеспечивая анонимность, обход географических ограничений или доступ к внутренним сетям. В Go стандартная библиотека net/http предоставляет гибкие механизмы для интеграции прокси в клиентские HTTP-запросы. Основным компонентом для настройки прокси является http.Transport, который управляет созданием и управлением исходящими соединениями.

Основы работы с прокси в Go

HTTP-клиент в Go представлен структурой http.Client. Для детальной настройки поведения клиента, включая использование прокси, применяется структура http.Transport. http.Transport инкапсулирует логику для выполнения HTTP-запросов, управления пулом соединений, обработкой таймаутов и, что важно, настройкой прокси.

По умолчанию http.DefaultClient использует http.DefaultTransport, который проверяет переменные окружения для настроек прокси. Для более тонкой настройки или использования специфичных прокси необходимо создать собственный http.Client с кастомным http.Transport.

package main

import (
    "fmt"
    "io"
    "net/http"
    "time"
)

func main() {
    // Создание HTTP клиента по умолчанию (использует DefaultTransport, который проверяет переменные окружения)
    client := &http.Client{
        Timeout: 10 * time.Second,
    }

    resp, err := client.Get("http://example.com")
    if err != nil {
        fmt.Printf("Ошибка при запросе: %v\n", err)
        return
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Printf("Статус: %s\n", resp.Status)
    fmt.Printf("Тело (частично): %s...\n", body[:100])
}

Настройка прокси через переменные окружения

Go HTTP-клиент автоматически использует настройки прокси, заданные в переменных окружения HTTP_PROXY, HTTPS_PROXY и NO_PROXY. http.DefaultTransport и, соответственно, http.DefaultClient по умолчанию проверяют эти переменные.

  • HTTP_PROXY / http_proxy: URL прокси для HTTP-запросов.
  • HTTPS_PROXY / https_proxy: URL прокси для HTTPS-запросов.
  • NO_PROXY / no_proxy: Список хостов, для которых прокси не должен использоваться (разделяются запятыми).

Для явного использования или проверки этих настроек можно применить функцию http.ProxyFromEnvironment.

```go
package main

import (
"fmt"
"io"
"net/http"
"os"
"time"
)

func main() {
// Установка переменных окружения для примера (в реальном приложении задаются вне программы)
os.Setenv("

Обновлено: 03.03.2026
Назад к категории

Читайте также

Гайды 2 мин

Прокси для Nike SNKRS: покупка дропов и мультизаявки

Используйте резидентные или мобильные прокси для Nike SNKRS: мультизаявки, обход лимитов на IP и покупка дропов без банов. Какой тип выбрать и как настроить.

Гайды 2 мин

Как настроить прокси на iPhone (Wi-Fi и SOCKS5)

Настройте прокси на iPhone через штатные настройки Wi-Fi (HTTP/HTTPS) или приложение вроде Shadowrocket для SOCKS5 и сотовой сети. Пошаговая настройка iOS и её ограничения.

Гайды 3 мин

Прокси для Tinder: несколько аккаунтов и защита от банов

Используйте мобильные или резидентные прокси для Tinder, чтобы вести несколько профилей и избегать теневых банов по IP. Почему мобильные лучшие, как настроить и почему прокси не сменит город.

Гайды 2 мин

Прокси для StockX: мониторинг цен и ведение аккаунтов

Используйте резидентные, ISP или мобильные прокси для StockX, чтобы мониторить цены, вести несколько аккаунтов и покупать дропы без банов. Какой тип выбрать и как настроить.

Гайды 3 мин

Прокси для OpenAI API: доступ, лимиты и настройка

Пустите OpenAI API через резидентный или ISP-прокси для доступа из поддерживаемых регионов, обхода лимитов 429 и изоляции аккаунтов. Какой прокси выбрать и примеры настройки на Python.

Гайды 1 мин

Настройка прокси в Cypress для E2E-тестирования

Настройка прокси в Cypress: HTTP_PROXY переменные, cy-proxy-middleware и тестирование гео-зависимого контента.

Попробуйте наши прокси

20,000+ прокси в 100+ странах мира

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.