我有一个像http://username:password@ipaddress:port//test/test.mjepd.cgi
这样的网址。
它实际上是在应用浏览器中流式传输相机。
然而,它适用于笔记本电脑和计算机,而不适用于移动网络视图。 它很简单,无法加载。
通过浏览一些论坛,我发现在app浏览器webview中移动版不支持传递基本身份验证凭据。
对此的任何帮助都非常感谢。
答案 0 :(得分:0)
选项1:将Authorization
标头添加到请求中:
HashMap<String, String> headers = new HashMap<String, String>();
String auth = "Basic " + Base64.encodeToString(password.getBytes("UTF-8"), Base64.NO_WRAP);
headers.put("Authorization", auth);
webview.loadUrl(url, headers);
选项2:通过回调处理身份验证:
webview.setWebViewClient(new WebViewClient() {
public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) {
if (realm.equals(expectedRealm) && host.equals(ipaddress)) {
handler.proceed(username, password);
} else {
handler.cancel();
}
}
});
另外:如果你必须使用基本身份验证,请帮个忙,并使用https:
;不要以明文形式发送密码。