我有一个共享点站点,它具有 ntlm 身份验证。为了让我加载页面,我使用它对网站进行身份验证。
public String LoadUrlWithNTLM(String url){
CkHttp http = new CkHttp();
http.put_Login("username");
http.put_Password("password");
http.put_NtlmAuth(true);
http.put_SessionLogFilename("ntlmAuthLog.txt");
String source = http.quickGetStr(url);
return source;
}
并用这个加载webview。
public void LoadWebView(String url, String source){
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadDataWithBaseURL(url, source, "text/html", "", "");
}
我在 OnCreate() 中调用它
source= LoadUrlWithNTLM(url);
LoadWebView(url,source);
然后我检查是否有一个 url 事件点击这个
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url){
String toWebView = LoadUrlWithNTLM(url);
LoadWebView(url,source);
return false;
}
});
在某些时候,我可以通过 NTLM 身份验证访问 Sharepoint 站点,但是当我单击某个链接时,它只显示“401 UNAUTHORIZED”并且不调用断点上的 shouldOverrideUrlLoading() 方法。