Как использовать Socks4 с http-клиентом - PullRequest
1 голос
/ 01 мая 2020

Это мое текущее решение для использования Socks5. Есть ли какое-нибудь решение для того, чтобы заставить Socks4 работать? Я хочу отправить запрос на получение с Socks4.

proxyUrl, err := url.Parse("socks5://123.123.123.123:9999")
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}

1 Ответ

1 голос
/ 01 мая 2020

net/http/transport поддерживает только прокси http, https или socks5 из коробки (документация по цитированию):

Тип прокси определяется схемой URL. "http", "https" и "socks5" поддерживаются. Если схема пуста, предполагается «http».

Для работы с socks4 или socks4a прокси вы можете использовать существующую библиотеку, например h12.io / socks и затем наберите socks4, наберите Transport следующим образом:

import "h12.io/socks"
dial := socks.Dial("socks4://123.123.123.123:9999")
transp := &http.Transport{Dial: dial}
myClient := &http.Client{Transport: transp}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...