Я смог сделать запрос на получение с пакетом net / http, используя определенный прокси с кодом ниже:
proxyURL, err := url.Parse("http://111.222.333.444:80")
if err != nil {
fmt.Println("Bad proxy URL", err)
return
}
client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)}}
req, _ := http.NewRequest("GET", "https://www.google.com", nil)
res, err := client.Do(req)
if err != nil {
fmt.Println("Error")
}
else {
defer res.Body.Close()
respBody, _ := ioutil.ReadAll(res.Body) //read the response
fmt.Println(string(respBody))
}
Чтение документов написано, что
ProxyURL возвращает прокси-функцию (для использования в транспорте), которая всегда возвращает один и тот же URL.
Но как мне сделать еще один запрос на получение после этого в том же потокес другим прокси?я должен создать другой транспортный объект с другой настройкой прокси?но я считаю этот способ очень медленным.Мне нужно повторно использовать объекты Transport и Client и изменять только URL-адрес прокси.
Какой лучший способ сделать это?