http 407 Proxyauthentifizierung erforderlich : wie behandeln im java-code
System.setProperty("http.proxySet", "true");
System.setProperty("java.net.useSystemProxies", "true");
System.setProperty("http.proxyHost", "192.168.1.103");
System.setProperty("http.proxyPort", "3128");
System.setProperty("http.proxyUser", "user123");
System.setProperty("http.proxyPassword", "passwD123");
url = new URL("http://www.google.co.in");
jedes mal, wenn ich mit diesem code IOException wirft, die sagen HTTP-Antwort-code 407.
HTTP 407 bedeutet, dass die proxy-Authentifizierung erforderlich. warum dieses problem kommt, während ich setzen proxyUser und proxyPassword.
http 401 auftreten, wenn ich ein Falsches Passwort aber es machen mir immer 407, bedeutet, dass mein code nicht Benutzername und Kennwort. Im obigen code user123 username und passwD123 ist das Kennwort für die proxy-Authentifizierung.
Was http-client verwenden Sie?
Ich versuche, die manuelle proxy, automatische proxy , kein proxy in den browser unterstützen java. Browser wie firefox unterstützt diese, Tools->die option->Erweitert->Netzwerk->Einstellung.
Ich versuche, die manuelle proxy, automatische proxy , kein proxy in den browser unterstützen java. Browser wie firefox unterstützt diese, Tools->die option->Erweitert->Netzwerk->Einstellung.
InformationsquelleAutor dayitv89 | 2013-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://blog.vinodsingh.com/2008/05/proxy-authentication-in-java.html
Fand ich die Lösung Dank, Mr. Vinod Singh.
Proxy-Authentifizierung in Java
Den üblichen corporate networks bieten internet-Zugang über proxy-Server und zu Zeiten, die Sie benötigen-Authentifizierung als auch. Kann Anwendungen öffnen sich die verbindungen zu Servern, die sich außerhalb der Firmen-intranet. So muss man die proxy-Authentifizierung programmgesteuert. Glücklicherweise Java bietet einen transparenten Mechanismus zu tun, proxy Authentifizierungen.
Erstellen eine einfache Klasse wie unten-
und fügen Sie die folgenden Zeilen von code, bevor der code öffnet ein URLConnection-
Nun alle Anrufe, erfolgreich absolvieren werden durch die proxy-Authentifizierung.
Ich habe setup http-und https-proxy in die Konfiguration auszuführen, die auf eclipse mit Benutzername und Passwort aus irgendeinem Grund, es funktioniert nur zeitweise, das ist sehr seltsam.
InformationsquelleAutor dayitv89
@GauravDS
Sie erwähnt:
http://blog.vinodsingh.com/2008/05/proxy-authentication-in-java.html
Ich fand die Lösung Dank, Mr. Vinod Singh.
Die Proxy-Authentifizierung in Java
Die üblichen corporate networks bieten internet-Zugang über proxy-Server und zu Zeiten, die Sie benötigen-Authentifizierung als auch. Kann Anwendungen öffnen sich die verbindungen zu Servern, die sich außerhalb der Firmen-intranet. So muss man die proxy-Authentifizierung programmgesteuert. Glücklicherweise Java bietet einen transparenten Mechanismus zu tun, proxy Authentifizierungen.
Erstellen eines einfachen Klasse, wie unten-
.
.
.
und fügen Sie die folgenden Zeilen von code, bevor der code öffnet ein URLConnection-
Authenticator.setDefault(new ProxyAuthenticator("user", "password"));
System.setProperty("http.proxyHost", "proxy host");
System.setProperty("http.proxyPort", "port");
Jetzt werden alle Anrufe, erfolgreich absolvieren werden durch die proxy-Authentifizierung.
Was ist, wenn die Website, die Sie herstellen erfordert auch einen Benutzernamen/Passwort zu ermöglichen.
Vorgabe der Authenticator(Authenticator.setDefault) scheitern wird, ich denke, wenn die externe Website Aussehen wird für authentifizierte Benutzer.
Alle Ansichten?....Jemand ?
Bearbeiten:1
Benutzt diesen code und war früher immer der Fehler (407) Proxyauthentifizierung Erforderlich.
Ich glaube, dass war, weil die Authentifizierung angefordert wurde, die von verschiedenen hosts. und wenn Sie eine Standard-authentifikator mit einem user/pass für eine host -, dann wird die Authentifizierung fehlschlagen, für andere anfordernde host. Ich habe die folgende änderung gestern SimpleAuthenticator Klasse und jetzt funktioniert es wie ein Charme.
Weitere Infos hier: http://blog.ashwani.co.in/blog/2013-07-29/access-sharepoint-webservices-from-java-behind-proxy/
Bearbeitet meine Antwort oben.
Sie könnte prüfen, für
getRequestorType() == RequestorType.PROXY
zu. Die Authentifizierung, die ist gemein zu credintial oder login auf Anwendungen verwenden in der Regel 401 und proxies verwenden, 407.Ich habe setup http-und https-proxy in die Konfiguration auszuführen, die auf eclipse mit Benutzername und Passwort aus irgendeinem Grund, es funktioniert nur zeitweise, das ist sehr seltsam.
InformationsquelleAutor TheAshwaniK
Die Antwort auf die Verwendung einer
Authenticator
richtig ist für den Allgemeinen Fall. Jedoch, eine weitere Ursache der HTTP-407 in Java 8u111 und später ist, wenn Sie mit BASIC-Authentifizierung gegen den proxy.In diesem Fall, fügen Sie diese system-Eigenschaft:
Ich habe diesen: https://confluence.atlassian.com/kb/basic-authentication-fails-for-outgoing-proxy-in-java-8u111-909643110.html
InformationsquelleAutor Dan Gravell