Proxy 如何通过代理连接到Internet?
我写了下面的代码来访问网页并在Ubuntu中运行Proxy 如何通过代理连接到Internet?,proxy,Proxy,我写了下面的代码来访问网页并在Ubuntu中运行 我该如何解决这个问题?我已经尝试了来自互联网的建议修复,但仍然无法找到解决方案。a407响应表示“需要代理身份验证”,如前所述 现在,您似乎正在系统属性中设置代理用户和密码,但显然不起作用。我可以想出几个解释: 设置属性可能太晚了。这些属性在初始化时由默认的ProxySelector和Authenticator读取。如果你设定得太晚,他们就不会受到尊重。尝试使用-D..选项设置属性 您可能使用了错误的代理用户名和密码 代理可能期望代理身份验证详
我该如何解决这个问题?我已经尝试了来自互联网的建议修复,但仍然无法找到解决方案。a
407
响应表示“需要代理身份验证”,如前所述
现在,您似乎正在系统属性中设置代理用户和密码,但显然不起作用。我可以想出几个解释:
- 设置属性可能太晚了。这些属性在初始化时由默认的
和ProxySelector
读取。如果你设定得太晚,他们就不会受到尊重。尝试使用Authenticator
选项设置属性-D..
- 您可能使用了错误的代理用户名和密码
- 代理可能期望代理身份验证详细信息的格式与提供的格式不同。查看失败请求响应中的标题。应该有一个包含“质询”的“代理身份验证”标头
如果这种方法不起作用,另一种选择是通过实现和注册自己的
ProxySelector
和Authenticator
类,以编程方式实现代理选择和身份验证
跟进 我包含了ProxyAuthenticator类,现在抛出“java.net.ProtocolException:服务器重定向次数过多(20)” 不知何故,您的应用程序进入了重定向循环
我仍然不确信您是否足够早地设置了代理属性。将此更改为,它应该work@user2699073-就像我在回答中告诉你的。使用-D。。。命令行选项。(请阅读
java
手册条目。其中有说明。)@user2699073-尝试使用Wireshark(或等效工具)查看HTTP请求和回复中的内容。这应该告诉你请求是否到达了正确的位置,请求和回复实际上包含了什么,以及(对于回复)你也被重定向了什么。