إذا تم تعيين متغير البيئة ALL_PROXY
على عنوان غير SOCKS ، فإنه ينتج عنه proxy: unknown scheme: http
عندما يجب أن يتجاهله بدلاً من ذلك.
go version
)؟go env
)؟ALL_PROXY
وحاول تشغيل Docker Toolbox ، على سبيل المثال docker run hello-world
ALL_PROXY
ALL_PROXY
. يمكن إرجاع الخطأ إلى https://github.com/golang/net/blob/master/proxy/proxy.go#L93.الحل: قم بتشغيل unset ALL_PROXY
عندما تحصل على خطأ.
لست متأكدًا بنسبة 100٪ ، ولكن هل أنت متأكد من أن تعيين ALL_PROXY
على بروتوكول http
أو https
أمر منطقي؟ قد تكون هناك حركة مرور غير HTTP تريد المرور عبر الوكيل.
لا أصدق أن هذا لا يزال مفتوحًا.
nathanleclaire أعتقد أنه يجب عليك تسجيل Dialer اكتب بنفسك: https://godoc.org/golang.org/x/net/proxy#RegisterDialerType
اقرأ المزيد هنا وهنا:
http://blog.ralch.com/articles/network-programming-and-proxies-in-golang/
https://gist.github.com/jim3ma/3750675f141669ac4702bc9deaf31c6b
لكنني لست متأكدًا أيضًا وأقوم بمحاولة إعداد وكيل لمتصلي TCP. تعد تعديلات عميل HTTP سهلة للغاية:
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyURL)}
لكن استخدام net.Dial
و net.DialTimeout
أقل وضوحًا مع نظام وكيل غير SOCKS5.
التعليق الأكثر فائدة
لا أصدق أن هذا لا يزال مفتوحًا.