我开发了一个Chrome插件,它使用XMLHttpRequest将带有用户名/密码的GET HTTP请求发送到受basic-auth保护的URL,以便它可以在之后"自动登录"它(因为Chrome缓存HTTP basic-auth的凭据(。
这是我使用的代码:
var xml = new XMLHttpRequest();
xml.open('GET',<url>,false,<username>,<password>)
xml.send('');
它曾经在很长一段时间内工作正常,但前段时间开始失败。插件代码没有改变,所以我认为它可能与Chrome本身有关。我下载了OSX(17(和BAM的先前版本,它再次工作。
经过一些额外的研究,我发现这可能与Chrome 19不支持用户名:pwd@url语法有关,用于对受基本身份验证保护的URL进行身份验证,因为当我发送XMLHttpRequest时,我在Google Chrome的js控制台中看到了这一点:
获取 http://user:pass@domain.com 401(未经授权(
有谁知道这是一个错误还是Chrome停止支持此功能?
谢谢
马塞洛。
您不是唯一遇到此问题的人。它惹恼了其他几个人的羽毛。
但是,鉴于Chromium开发人员的评论:
有意弃用了对 URL 中嵌入身份验证的支持。
看起来它是故意删除的。