1

我编写了下面的代码来访问网页并在 Ubuntu 中运行。

我该如何解决?我已经尝试了来自互联网各地的建议修复,但仍然无法找到解决方案。

4

1 回答 1

2

响应意味着“需要407代理身份验证”,如此所述。

现在您似乎在系统属性中设置了代理用户和密码,但它显然不起作用。我能想到几个解释:

  • 您可能设置属性为时已晚。默认情况下会读取这些属性,ProxySelector并且Authenticator在初始化时会读取这些属性。如果你把它们设置得太晚,那么它们将不会被尊重。尝试使用-D...选项设置属性。

  • 您可能使用了错误的代理用户名和密码。

  • 代理可能期望代理身份验证详细信息的形式与提供的形式不同。查看失败请求的响应中的标头。应该有一个包含“挑战”的“Proxy-Authenticate”标头。


如果这种方法不起作用,另一种选择是通过实现和注册您自己的类ProxySelectorAuthenticator类以编程方式实现代理选择和身份验证。


跟进

我包含了 ProxyAuthenticator 类,现在,“java.net.ProtocolException: Server redirected too many times (20)”被抛出。

不知何故,您的应用程序已进入重定向循环。

我仍然不相信您足够早地设置代理属性。

于 2013-08-26T12:40:57.973 回答