类似的问题出现在GitHub:https://github.com/square/okhttp/issues/2900
我尝试使用代码发出请求:
final Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxyhost", 8001));
final Response response = new OkHttpClient.Builder()
.proxy(proxy)
.proxyAuthenticator(new Authenticator() {
@Override
public Request authenticate(Route route, Response response) throws IOException {
String credential = Credentials.basic("proxyuser", "proxypass");
return response.request().newBuilder()
.header("Proxy-Authorization", credential)
.build();
}
})
.build()
.newCall(new Request.Builder()
.get()
.url("https://www.google.com/")
.build())
.execute();
但我收到错误:407 Proxy Authentication Required
顺便说一下,当我在我的电脑上设置代理,打开Chrome并转到谷歌时,会弹出一个窗口,我应该输入登录名和密码。如果我点击取消 - 同一页面上有文字
需要407代理身份验证。访问所请求的资源 管理员不允许或您需要有效的用户名/密码才能使用 这个资源
所以我的问题是如何使用OkHttp代理?知道使用代理的其他方式或库
会很有用答案 0 :(得分:-1)
尝试从jre / lib文件夹中的net.properties中删除“基本”
jdk.http.auth.tunneling.disabledSchemes=Basic
需要成为
jdk.http.auth.tunneling.disabledSchemes=