Go: x/net/proxy: Nicht-SOCKS ALL_PROXY führt zu Proxy: unbekanntes Schema: http

Erstellt am 16. Aug. 2016  ·  3Kommentare  ·  Quelle: golang/go

Wenn die Umgebungsvariable ALL_PROXY auf eine Nicht-SOCKS-Adresse gesetzt ist, führt dies zu proxy: unknown scheme: http obwohl sie stattdessen ignoriert werden sollte.

  1. Welche Version von Go verwenden Sie ( go version )?
    go1.6.3 über Docker
  2. Welches Betriebssystem und welche Prozessorarchitektur verwenden Sie ( go env )?
    windows/amd64
  3. Was haben Sie gemacht?
    Setzen Sie eine http ALL_PROXY Umgebungsvariable und versuchen Sie, Docker Toolbox auszuführen, zB docker run hello-world
  4. Was hast du erwartet zu sehen?
    Docker sollte gut funktionieren, Go sollte Nicht-SOCKS ALL_PROXY Umgebungsvariable ignorieren
  5. Was hast du stattdessen gesehen?
    Docker funktioniert nicht, weil Nicht-SOCKS-Umgebungsvariable ALL_PROXY nicht ignoriert wird. Der Fehler kann auf https://github.com/golang/net/blob/master/proxy/proxy.go#L93 zurückverfolgt werden

Problemumgehung: Führen Sie unset ALL_PROXY wenn Sie einen Fehler erhalten.

Hilfreichster Kommentar

Ich kann nicht glauben, dass das noch offen ist.

Alle 3 Kommentare

Ich bin mir nicht 100% sicher, aber sind Sie sicher, dass es sinnvoll ist, ALL_PROXY auf ein http oder https Protokoll zu setzen? Möglicherweise gibt es Datenverkehr, der nicht HTTP ist und den Proxy passieren möchte.

Ich kann nicht glauben, dass das noch offen ist.

@nathanleclaire Ich denke, Sie müssen den Dialer-Typ selbst registrieren: https://godoc.org/golang.org/x/net/proxy#RegisterDialerType

Lesen Sie hier und hier mehr:
http://blog.ralch.com/articles/network-programming-and-proxies-in-golang/
https://gist.github.com/jim3ma/3750675f141669ac4702bc9deaf31c6b

Aber ich bin mir auch nicht sicher und versuche gerade, einen Proxy für TCP-Dialer einzurichten. HTTP-Client-Modifikationen sind verrückt einfach:
http.DefaultTransport = &http.Transport{Proxy: http.ProxyURL(proxyURL)}

Aber die Verwendung von net.Dial und net.DialTimeout ist bei einem Nicht-SOCKS5-Proxy-Schema weniger einfach.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen