Go 使用代理设置true false

Go 使用代理设置true false,go,Go,我想创建带有选项true/false的简单函数来使用代理。 这是我的实际代码: var torProxy string = "socks5://127.0.0.1:9050" func getPage(webUrl string, useProxy bool) { torProxyUrl, err := url.Parse(torProxy) if err != nil { log.Fatal("Error parsing Tor proxy URL:", to

我想创建带有选项true/false的简单函数来使用代理。 这是我的实际代码:

var torProxy string = "socks5://127.0.0.1:9050"

func getPage(webUrl string, useProxy bool) {
    torProxyUrl, err := url.Parse(torProxy)
    if err != nil {
        log.Fatal("Error parsing Tor proxy URL:", torProxy, ".", err)
    }

    transport := &http.Transport{
        DisableKeepAlives: true,
    }
    torTransport := &http.Transport{Proxy: http.ProxyURL(torProxyUrl)}
    client := &http.Client{Transport: transport, Timeout: time.Second * 5}
    if useProxy {
        client = &http.Client{Transport: torTransport, Timeout: time.Second * 5}
    }

    // Make request
    resp, err := client.Get(webUrl)
    if err != nil {
        log.Fatal("Error making GET request.", err)
    }
    defer resp.Body.Close()

    // Read response
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        log.Fatal("Error reading body of response.", err)
    }
    log.Println(string(body))
    log.Println("Return status code:", resp.StatusCode)
}

func main() {
    getPage("getPage", false)
}
执行代码时返回此错误:
2018/04/19 08:28:25发出GET请求时出错。GET getPage:不支持的协议方案“”

退出状态1
我哪里错了?

您在通话中传递的URL无效。改变

func main() {
    getPage("getPage", false)
}

getPage(“getPage”,false)
:您正在以
webUrl
的形式传递
“getPage”
,该url不是有效的url。
func main() {
    const urlStr = 'https://stackoverflow.com' // Or whatever URL
    getPage(urlStr, false)
}