Jika variabel lingkungan ALL_PROXY
disetel ke alamat non-SOCKS, ia menghasilkan proxy: unknown scheme: http
padahal seharusnya mengabaikannya.
go version
)?go env
)?ALL_PROXY
dan coba jalankan Docker Toolbox, misalnya docker run hello-world
ALL_PROXY
ALL_PROXY
non-SOCKS tidak diabaikan. Kesalahan dapat ditelusuri kembali ke https://github.com/golang/net/blob/master/proxy/proxy.go#L93.Solusi: Jalankan unset ALL_PROXY
ketika Anda mendapatkan kesalahan.
Saya tidak 100% yakin, tetapi apakah Anda yakin menyetel ALL_PROXY
ke protokol http
atau https
masuk akal? Mungkin ada lalu lintas non-HTTP yang ingin melewati proxy.
Aku tidak percaya ini masih terbuka.
@nathanleclaire Saya pikir Anda harus mendaftarkan Dialer Type sendiri: https://godoc.org/golang.org/x/net/proxy#RegisterDialerType
Baca lebih lanjut di sini dan di sini:
http://blog.ralch.com/articles/network-programming-and-proxies-in-golang/
https://Gist.github.com/jim3ma/3750675f141669ac4702bc9deaf31c6b
Tetapi saya juga tidak yakin dan dalam proses mencoba mengatur proxy untuk dialer TCP. Modifikasi klien HTTP sangat mudah:
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyURL)}
Tetapi menggunakan net.Dial
dan net.DialTimeout
tidak begitu mudah dengan skema proxy non-SOCKS5.
Komentar yang paling membantu
Aku tidak percaya ini masih terbuka.