HTTPS XMLHttpRequest 无法检索正确的页面

HTTPS XMLHttpRequest failing to retrieve correct page

本文关键字:检索 XMLHttpRequest HTTPS      更新时间:2023-09-26

我正在尝试获取页面的内容,但此页面使用https进行保护。我尝试将XMLHttpRequest与http站点一起使用并成功,但是此页面确实返回了您必须登录的页面的重定向。

以下是我尝试使用的代码:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function() {
if (xhr.readyState==4 && xhr.status==200) {
document.getElementById("container").innerHTML = xhr.responseXML.body.innerHTML;
    };
};
xhr.open('POST', 'https://eu.battle.net/wow/en/vault/character/auction/alliance/', true);
xhr.withCredentials = true;
xhr.send();
document.getElementById("container").innerHTML = "loaded";

我尝试设置请求标头,包括 cookie 和身份验证,并将方法更改为 GET 和 POST,但没有区别。

谁能提醒我这个请求?

附言如果这根本不可能,有没有办法使用不同的方法成功?

不能使 AJAX 请求跨域,除非它返回 Access-Control-Allow-Origin 标头。出于众所周知的安全原因,从脚本中发起的跨站点 HTTP 请求一直受到众所周知的限制。 例如,使用 XMLHttpRequest 对象发出的 HTTP 请求受同源策略的约束。 特别是,这意味着使用 XMLHttpRequest 的 Web 应用程序只能向加载它的域发出 HTTP 请求,而不能向其他域发出 HTTP 请求。

详细信息: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS

您可以使用 PHP 代理绕过此操作:http://blog.edwards-research.com/2012/10/cross-domain-ajax-a-simple-workaround/