2017-06-12 4 views
0

Nous utilisons okhttp v3.8.0 dans notre projet. Nous devons ajouter un en-tête personnalisé spécifiquement pour le serveur proxy sur les requêtes https. Le problème est que lorsque je mets ".header (" Something "," FRR ")", l'en-tête serait également chiffré sur les requêtes https, donc il ne serait pas identifié par le serveur proxy. Comment puis-je y parvenir? Je veux envoyer l'en-tête non crypté dans la méthode initiale. Voilà comment j'envoyer ma demande au serveur proxy en ce moment:Okhttp: Ajout d'en-têtes personnalisés non cryptés pour le serveur proxy sur les requêtes https

OK_HTTP_CLIENT = builder 
    .connectTimeout(60, TimeUnit.SECONDS) 
    .writeTimeout(60, TimeUnit.SECONDS) 
    .readTimeout(60, TimeUnit.SECONDS) 
    .cookieJar(cookieJar) 
    .retryOnConnectionFailure(true) 
    .proxy(proxy) 
    .proxyAuthenticator(proxyAuthenticatorMainAccount) 
    .build(); 

Request request = new Request.Builder() 
    .url(url) 
    .header("Something", "FRR") 
    .build(); 

Response response = OK_HTTP_CLIENT.newCall(request).execute(); 

There is screenshot here, explain what i want to achieve in more details

+0

@SLaks Je viens d'éditer mon post et de joindre une capture d'écran qui explique ce que je veux obtenir dans plus de détails, je me demandais si vous pouviez y jeter un coup d'œil –

+0

Cela pourrait ne pas être possible. – SLaks

Répondre

0

Ce n'est pas peut-être en OkHttp actuellement. Il est suivi here. Si c'est important pour vous, expliquez votre situation et nous vous répondrons en conséquence.

+0

nous devons envoyer une requête au serveur proxy et dire l'adresse IP du pays que nous allons utiliser pour cette requête spécifique et cela ne sera possible qu'en définissant l'en-tête "pays" dans la requête. Comme je l'ai dit, il fonctionne sur la requête http mais sur les requêtes https, le serveur proxy n'a pas pu identifier l'en-tête car il est chiffré pour la destination. Est-il possible de le faire dans d'autres bibliothèques? ou même par HttpUrlConnection? –

+0

La solution de contournement la plus simple consiste à fork OkHttp et à ajouter vos en-têtes dans le code RealConnection lors de la connexion du proxy. –