Okhttp:在https请求中为代理服务器添加未加密的自定义标头
我们在我们的项目中使用okhttp v3.8.0。我们必须在https请求上专门为代理服务器添加自定义标头。问题是,当我设置“.header(”Something“,”FRR“)”时,标头也会在https请求上加密,所以它不会被代理服务器识别。我怎样才能做到这一点?我想在Initial方法中发送未加密的头文件。 这就是我把我的请求,代理服务器现在:Okhttp:在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
这是不可能在目前OkHttp。正在跟踪here。如果对你很重要,请解释你的情况,我们会作出相应的回应。
我们必须向代理服务器发送请求,并说明我们将用于该特定请求的国家/地区的IP地址,并且只有通过在请求中设置“国家/地区”标题才可能。正如我所说,它正在处理http请求,但在https请求上,代理服务器无法识别标头,因为它已针对目标加密。其他图书馆可以这样做吗?甚至通过HttpUrlConnection? –
最简单的解决方法是在连接代理时分叉OkHttp并在RealConnection代码中添加标题。 –
@SLaks我只是编辑我的文章,并附上一张截图,解释我想实现更多细节,我想知道你是否可以看看它 –
这可能是不可能的。 – SLaks