gpt4 book ai didi

go - 无法与 HTTP 代理连接

转载 作者:行者123 更新时间:2023-12-01 22:26:36 25 4
gpt4 key购买 nike

去版本:go1.13.5 linux/amd64

我正在使用“x/net/proxy”连接“http_proxy”。

我提到了以下代理页面:
https://godoc.org/golang.org/x/net/proxy

要获取代理信息,我已将环境变量“all_proxy”设置为所需的代理“http://192.130.0.10:3200”,并执行了 tcp 连接,但出现以下错误:

[网络错误:socks connect tcp 192.130.0.10:3200->mx.eu1.mico.io:8883:读取 tcp 172.17.0.2:48118->192.130.0.10:3200:读取:连接被对等方重置]

我看过“x/net/proxy”,似乎“http_proxy”支持不可用,而不是支持“SOCKS5”代理。我对“http_proxy”有类似的实现,但不幸的是它不起作用。

我创建了一个适用于非代理环境的示例代码(端口 1883),请建议我如何启用“http_proxy”或“https_proxy”支持?

package main

import (
"fmt"
"os"

"golang.org/x/net/proxy"
)

//The host address which we want to connect with the proxy
var host = "google.com:80"

func main() {
fmt.Println("Inside main...")

//Setting the proxy before starting the application
if os.Getenv("http_proxy") == "" {
os.Setenv("http_proxy", "http://192.130.0.10:3200")
}
os.Setenv("all_proxy", os.Getenv("http_proxy"))

if os.Getenv("all_proxy") != os.Getenv("http_proxy") {
fmt.Println("Environment variables are not matching...")
return
}

fmt.Println("System proxy is:", os.Getenv("all_proxy"))

proxyDialer := proxy.FromEnvironment()

fmt.Println("Connecting to...", host)

conn, err := proxyDialer.Dial("tcp", host)
if err != nil {
fmt.Println("Unable to dial...", err)
return
}
fmt.Println("Connected...", conn)
}
Output:
Inside main...
System proxy is: http://192.130.0.10:3200
Connecting to... google.com:80
Unable to dial... dial tcp 172.217.23.174:80: connect: connection timed out

最佳答案

你的目的是什么?
如果您需要为 http 请求使用 http-proxy 服务器,您可以只配置您的 http-client 而无需使用其他包:

package main

import (
"fmt"
"net/http"
"net/url"
"time"
)

func main() {
proxyUrl, err := url.Parse("http://192.130.0.10:3200")
if err != nil {
// TODO handle me
panic(err)
}

cl := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyUrl),
},
Timeout: 3000 * time.Millisecond,
}

resp, err := cl.Get("http://google.com")
if err != nil {
// TODO handle me
panic(err)
}

// TODO work with the response
fmt.Println(resp)
}

关于go - 无法与 HTTP 代理连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59622800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com