Голанг сменить прокси после веб-запроса - PullRequest
0 голосов
/ 13 февраля 2019

Я смог сделать запрос на получение с пакетом 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-адрес прокси.

Какой лучший способ сделать это?

...