2012-01-24 48 views
2

我知道我可以为java应用程序 设置proxyhost和proxyport,以便通过正常的代理服务器进行工作。但是(至少)在公司 网络上有代理身份验证方案。我正在使用 URLConnection从 企业网络内的互联网下载zip文件。我正在使用Weblogic作为我的应用程序的服务器。
我知道HTTPClient声称处理 NTLM代理,但如何?我没有找到 的例子或教程来解决这个问题。在java中的ntlm实现?

我一直在网上搜索一段时间,发现 NTLM代理认证是微软的认证方案有 没有公开说明? Java是否真的能够处理公司网络(或公司代理)的 ?我真的需要 转到JSP等。这条路上?

  1. 是否有可能通过NTLM代理服务器使用java应用程序客户端访问url来下载文件 ?怎么样?示例真的很感激。

这是错误,我得到

java.io.IOException: Stream closed. 
at java.net.PlainSocketImpl.available(PlainSocketImpl.java:428) 
at java.net.SocketInputStream.available(SocketInputStream.java:217) 
at java.io.BufferedInputStream.read(BufferedInputStream.java:321) 
at weblogic.net.http.KeepAliveStream.read(KeepAliveStream.java:86) 
at java.io.FilterInputStream.read(FilterInputStream.java:90) 
at be.azvub.ext.bcfidownloder.Download.downloadZipFile(Download.java:131) 
+0

NTLM确实有一个规范:http://msdn.microsoft.com/en-us/library/cc236621(v=prot.13).aspx –

回答

1

你试过ntlmaps?这是一个在sourceforge中的解决方案..它工作得很好。

+0

它是用Python编写的。我不知道如何使用它。 我的应用程序应该运行在Weblogic上。 你能提供一些代码吗? – itro

1

我知道JCIFS提供NTLM实现,但我螺母知道,如果它可以用了HTTPClient结合。我也相信Sun/Oracle Java 6包含一个NTLM实现。

它看起来像这样page(2007年)提供了从Java NTLM支持的概述。