OkHTTPClient l'authentification du Proxy comment?
Question: Comment puis-je ajouter un proxy d'autorisation de OkHTTP.
Je sais que OkHTTP constructeur du prend en charge les procurations bien que je vais avoir du mal à en organiser un.
/**
* 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";
}
J'ai l'adresse IP /port /nom d'utilisateur /mot de passe.
Bien que je ne sais pas comment faire pour les transformer en un Proxy proxy
qui peut ensuite être utilisé dans le client.SetProxy().
Il semble trop compliqué et je ne peux tout simplement semblent pas le comprendre. Toute aide serait appréciée.
OriginalL'auteur Liably | 2016-02-22
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
curl -x user:passS@proxy:port address
avec ces détails, bien que le vôtre aove ne semble pas s'authentifier. Je reçois le message d'erreurAccess Denied (authentication_failed)
Ce code HTTP de la réponse? Avec le proxy authentifiant OkHttp doit recommencer à se réauthentifier le proxy avant de refaire surface que l'erreur à l'appelant.
Pour moi, c'est ne pas travailler trop. Je reçois toujours le retour 407 Proxy Authentication required. Et les boucles sont de travail.
Pour information, le code lance
java.lang.RuntimeException: java.net.ProtocolException: Too many follow-up requests: 21
quand le nom d'utilisateur et le mot de passe est incorrect. Essayé et testé, il fonctionne. Voir github.com/http-builder-ng/http-builder-ng/issues/191 pour mon petit bout de code.OriginalL'auteur Jesse Wilson