XMLHttpRequest 基本身份验证失败

2024-01-08

知道为什么吗XMLHttpRequest具有正确的凭据Pebble JS Framework http://developer.getpebble.com/2/guides/javascript-guide.html在 Android 上无法进行基本身份验证,但在 iOS 上可以使用?

完全相同的代码,大致如下:

var req = new XMLHttpRequest();
req.open(method, url, true, user, pass);
req.send(data);
req.onreadystatechange = function() { ... }

从 Android Pebble 应用程序返回 401,但在 iOS 中验证正确。


我找到了一个在 Android 上适合我的解决方法。

不知道为什么,但直接验证请求:

    req.open(method, fullurl, true, user, pass);
    req.send(data);

对我来说不起作用——它总是返回 401。所以我尝试通过标头设置基本身份验证:

    req.open(method, fullurl, true);
    req.setRequestHeader("Authorization", "Basic " + Base64.encode(user + ":" + pass)); 
    req.send(data);

(其中 Base64 取自此处:https://stackoverflow.com/a/246813/961695 https://stackoverflow.com/a/246813/961695)——而且成功了!也许 Android 上的 XmlHttpRequest 实现存在错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XMLHttpRequest 基本身份验证失败 的相关文章

随机推荐