我想用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 Error making GET request.Get getPage: unsupported protocol scheme "" exit status 1,我哪里错了?
发布于 2018-04-19 15:52:14
您在调用中传递的URL无效。变化
func main() {
getPage("getPage", false)
}至
func main() {
const urlStr = 'https://stackoverflow.com' // Or whatever URL
getPage(urlStr, false)
}https://stackoverflow.com/questions/49913395
复制相似问题