Frage: Wie füge ich einen Authorization Proxy zu OkHTTP hinzu.OkHTTPClient Proxy-Authentifizierung, wie?
Ich weiß, dass OkHTTP Builder does support proxies, obwohl ich eine harte Zeit habe, eine aufzustellen.
/**
* Given a Url and a base64 encoded password return the contents of a website.
* @param urlString
* @param password
* @return JSON
*/
public String getURLJson(String urlString, String password) {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(60, TimeUnit.SECONDS)
.writeTimeout(60, TimeUnit.SECONDS)
.readTimeout(60, TimeUnit.SECONDS)
.build();
Request request = new Request.Builder()
.url(urlString)
.get()
.addHeader("authorization", "Basic " + password)
.addHeader("cache-control", "no-cache")
.build();
Response response = null;
try {
response = client.newCall(request).execute();
String string = response.body().string();
response.body().close();
return string;
} catch (IOException e) {
System.err.println("Failed scraping");
e.printStackTrace();
}
return "failed";
}
Ich habe die IP/Port/Benutzername/Passwort.
Obwohl ich nicht weiß, wie man diese in eine Proxy proxy
macht, die dann in client.SetProxy() verwendet werden kann.
Es scheint übermäßig kompliziert und ich kann einfach nicht scheinen, es herauszufinden. Jede Hilfe wäre willkommen.
Es ist nicht die Proxy zu authentifizieren scheint. Ich habe es geschafft, es mit einer Befehlszeile 'curl -x user: passS @ proxy: port address' mit diesen Details arbeiten, obwohl Ihre aove scheint nicht zu authentifizieren. Ich bekomme die Fehlermeldung 'Zugriff verweigert (authentication_failed)' – Liably
Welcher HTTP-Antwortcode? Mit dem Proxy-Authentifikator sollte OkHttp versuchen, den Proxy erneut zu authentifizieren, bevor dieser Fehler dem Aufrufer angezeigt wird. –
Für mich funktioniert auch nicht. Ich bekomme immer die Rückgabe 407 Proxy Authentication Required. Und die Locken arbeiten. – Robinho