7
Domanda: Come aggiungere un proxy di autorizzazione a OkHTTP.OkHTTPClient Proxy autenticazione come?
So che il costruttore di OkHTTP does support proxies anche se ho difficoltà a installarne uno.
/**
* 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";
}
Ho l'IP/porta/nome utente/password.
Anche se non so come trasformarli in uno Proxy proxy
che può quindi essere utilizzato in client.SetProxy().
Sembra eccessivamente complicato e semplicemente non riesco a capirlo. Qualsiasi aiuto sarebbe apprezzato.
Non sembra per autenticare il proxy. Sono riuscito a farlo funzionare con una riga di comando 'curl -x utente: passS @ proxy: port address' con questi dettagli sebbene il tuo aove non sembra autenticarsi. Viene visualizzato il messaggio di errore 'Accesso negato (authentication_failed)' – Liably
Quale codice di risposta HTTP? Con l'autenticatore proxy, OkHttp dovrebbe riprovare a riautenticare il proxy prima di emettere quell'errore al chiamante. –
Anche per me non funziona. Ricevo sempre il 407 proxy di autenticazione richiesto. E il ricciolo sta funzionando. – Robinho