我们使用两个类似的Microsoft ISA Proxy Server2003来连接internet。每个代理都有不同的登录样式,如下所示:
Server-1 : nt-domain\alan Server-2 :alan@loveu.com
通过Wifi登录IE、Firefox和我的Phonecell都没问题。但是,当我们运行java应用程序J2SE V4、V5和V6时,出现了一个问题,它需要internet身份验证。登录到服务器-2正常,但无法登录服务器-2(样式: alan@domain.com)。
注意:两个代理都使用Windows身份验证,类型: negotiate
如果你能提供帮助或有任何建议,请推荐。
谢谢,
艾伦·L
发布于 2009-09-03 00:28:54
java documentation描述了如何在java中启用NTLM身份验证。如果您有权访问源代码,则可以通过编程方式添加系统属性,如"proxy"文章添加以下内容所述(另请参阅discussion of axis2):
System.setProperty("http.auth.ntlm.domain", mydomain);如果您无法访问源代码,可以在启动java二进制文件的命令行上设置属性,添加如下内容:
java -DproxyHost=host -DproxyPort=8080 -Dhttp.auth.ntlm.domain=mydomain ...发布于 2009-11-13 04:59:20
有一些很好的库可以帮助你解决这个问题。Proxy Vole (网络代理自动检测)可以帮助您使用与Internet Explorer相同的代理设置来通过代理进行身份验证。
要为您的
应用程序提供开箱即用的网络连接,您可以使用Proxy - Vole库。它提供了一些自动检测当前代理设置的策略。有许多可配置的策略可供选择。目前,Proxy - Vole支持以下代理检测策略。
<代码>F212
发布于 2009-08-13 03:10:30
您运行的是应用程序还是applet?applet可以利用浏览器的代理身份验证机制。
我建议首先使用cURL通过您的代理进行连接,然后查看发生的握手。代理服务器将向客户端提供身份验证方法列表。
如果用户和密码是固定的,您有时可以从浏览器会话中取出头文件,并在代码中使用它。例如,我可以将此标头添加到请求中,代理会将我视为已通过身份验证:
Proxy-Authorization: Basic AbCdEfGhOjk==https://stackoverflow.com/questions/1268689
复制相似问题