Wie kann ich konfigurieren HTTPClient authentifizieren gegen einen SOCKS-proxy?
Ich die proxy-Authentifizierung gegen einen SOCKS-proxy.
Ich fand heraus, dieser Beitrag geben Anweisungen zum arbeiten mit dem common HTTP-proxies.
httpclient.getHostConfiguration().setProxy("proxyserver.example.com", 8080);
HttpState state = new HttpState();
state.setProxyCredentials(new AuthScope("proxyserver.example.com", 8080),
new UsernamePasswordCredentials("username", "password"));
httpclient.setState(state);
Wäre, dass die Arbeit mit SOCKEN proxies als gut oder muss ich etwas anders machen?
InformationsquelleAutor abahgat | 2009-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Features Seite von Apache HTTPClient sagt:
Mit "transparent", ich denke, Sie bedeuten, dass es funktioniert, ohne dass Sie benötigen, zu tun, nichts besonderes. Haben Sie einen SOCKS-proxy verfügbar irgendwo? Könnt Ihr nicht einfach versuchen, es aus, um zu sehen, ob es funktioniert?
InformationsquelleAutor Jesper
Java unterstützt Socks-proxy-Konfiguration via Einstellungen:
socksProxyHost
für den host-Namen des SOCKS-proxy-serversocksProxyPort
für die Portnummer der Standardwert wird1080
z.B.
(Bearbeiten) Für dein Beispiel, wenn Sie den socks-proxy konfiguriert wurde, in der Weise umrissen vor:
Können Sie auch diese Variante (ohne httpclient):
Also Abschluss der vorherigen Beispiel, wir können jetzt hinzufügen:
HTH
InformationsquelleAutor tuergeist
SOCKEN wird nicht unterstützt von HttpClient 3 nativ. Sie können versuchen, die SOCKS-Unterstützung im JDK, wie vorgeschlagen, die von anderen. Der Nebeneffekt ist, dass Ihre ganze JVM wird über die gleichen SOCKS-proxy.
Java 5 unterstützt die Benutzername/Kennwort-Authentifizierung in SOCKEN (Typ 2). Alles, was Sie tun müssen, ist, um den setup-authentifikator wie diese,
Wieder, kann dies nicht für Sie arbeiten, denn es betrifft Sie alle-Authentifizierung in der JVM (HTTP-auth, Proxy-Auth).
InformationsquelleAutor ZZ Coder
Können Sie eine benutzerdefinierte socket-factory, die sich um das SOCKS-Protokoll, und registrieren Sie es als Ihre Standard-HTTP-Protokoll-handler. Diese Lösung hat eine Einschränkung ähnlich tuergeist Antwort oben hat - es gilt weltweit, zu jeder HTTP-Verbindung errichtest du durch HttpClient.
Wenn Sie dieses problem haben, werfen Sie einen Blick auf diese Korrespondenz, wo Oleg schlägt mit HttpClient 4.0, bezieht sich aber auch auf einen möglichen patch in HostConfiguration Klasse HttpClient-3.x.
Eine andere mögliche Lösung, die ist mein persönlicher Favorit, ist das schreiben eine wrapper HTTP-proxy, socks proxy.
InformationsquelleAutor Tomer
Versuchte ich
es funktioniert und es ist in Ordnung.
InformationsquelleAutor Anshul Chaurasia