1

NTLM プロキシ認証を使用して Httppost 操作を使用しようとしています。JCIFSEngine を使用しました。しかし、それでもエラーが発生します。

これが私のコードです:

BasicHttpParams params = new BasicHttpParams();
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
HttpConnectionParams.setConnectionTimeout(params, connectionTimeout);
HttpConnectionParams.setSoTimeout(params, connectionTimeout);
httpclient = new DefaultHttpClient(cm, params);

httpclient.getAuthSchemes().register(AuthPolicy.NTLM, new NTLMSchemeFactory());
    httpclient.getCredentialsProvider().setCredentials(new AuthScope("proxyServerIP", 80, "http", "DOMAIN"),new NTCredentials("userNAme", "pass", null, "DOMAIN")); 

このエラーが発生しています:

<HEAD><TITLE>Proxy Authorization Required</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black"><H1>Proxy Authorization Required</H1><HR>
<FONT FACE="Helvetica,Arial"><B>
Description: Authorization is required for access to this proxy<BR><BR>
</B>Error Code: <BR>(NTLM) NA c<BR><BR>
User Agent: <BR><BR><BR>
Error Detail: <BR><PRE>[2013/06/14 17:30:44.539735,  1] libsmb/ntlmssp.c:342(ntlmssp_update)
  got NTLMSSP command 3, expected 1
</PRE><BR><BR></B></FONT>
<HR>
<!-- default "Proxy Authorization Required" response (407) -->
</BODY>

助けてくれてありがとう。

4

1 に答える 1

0

問題の Apache Software Foundation ソリューションを試してみたい場合:

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html#ntlm

4.9。NTLM 認証

バージョン 4.1 の時点で、HttpClient は NTLMv1、NTLMv2、および NTLM2 セッション認証をすぐに完全にサポートします。Windows 相互運用性プログラム スイートの一部として、Samba プロジェクトによって開発された JCIFS ライブラリなどの外部 NTLM エンジンを引き続き使用することができます。

于 2013-09-11T09:16:15.010 に答える