加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 407无法通过代理隧道

发布时间:2020-12-15 02:22:23 所属栏目:Java 来源:网络整理
导读:我们有一个调用第三方Web服务的Web服务.为了测试这个实现,我们有不同的环境. 本地开发人员机器:当我们运行应用程序时,一切正常,我们的Web服务能够访问第三方URL. (本地机器使用Windows操作系统) 本地开发服务器:在开发服务器上部署应用程序后,我们无法访问
我们有一个调用第三方Web服务的Web服务.为了测试这个实现,我们有不同的环境.

>本地开发人员机器:当我们运行应用程序时,一切正常,我们的Web服务能够访问第三方URL. (本地机器使用Windows操作系统)
>本地开发服务器:在开发服务器上部署应用程序后,我们无法访问第三方URL并获得Http Proxy 407错误. (我们正在使用Linux,使用IBM J9 JVM.)

为了解决这个问题,我们尝试设置-Dhttps.proxyUser XXX -Dhttps.proxyPassword XXX,但我们继续收到错误.我们尝试的第二个选项是使用Authenticator.setDefault(new CustomImplAuthenticator()).但令人惊讶的是,JVM没有调用getPasswordAuthentication并继续抛出错误.

我们使用authenticator.setdefault代码在本地开发人员计算机上再次运行相同的应用程序.我们可以像前面所说的那样访问URL,但这次JVM没有再调用getPasswordAuthentication方法.通过网络搜索后,我们发现通过NTLM解析了身份验证数据,因此我们觉得代码正在Windows上运行.

任何人都可以让我知道什么设置,我们应该配置在Linux框中部署的应用程序,以便至少调用为Authenticator.setDefault分配的实现.

解决方法

这取决于你如何建立你的http连接.
例如,如果您使用Apache HTTPClient,则可以通过调用setProxyAuthenticationHandler将代理配置设置为DefaultHttpClient.

您执行http调用的实现需要了解代理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读