Javascript 使用用户名和密码向https网站发送ajax GET请求
我想访问一个网站,并使用“ajax调用”从中获取锚定标记,如下所示:Javascript 使用用户名和密码向https网站发送ajax GET请求,javascript,html,jquery,Javascript,Html,Jquery,我想访问一个网站,并使用“ajax调用”从中获取锚定标记,如下所示: $.ajax({ url: 'https://www.facebook.com/', type: 'GET', success: function(res) { var headline = $(res.responseText).find('a').text(); alert(headline); } }); 但我的标题是空白的。 不过,我在一个“http”网
$.ajax({
url: 'https://www.facebook.com/',
type: 'GET',
success: function(res) {
var headline = $(res.responseText).find('a').text();
alert(headline);
}
});
但我的标题是空白的。
不过,我在一个“http”网站上尝试了相同的代码,效果很好 这是因为
https
与http
有所不同,而Facebook就像许多其他网站一样,使用cookies进行身份验证。您必须首先在https://facebook.com
然后你就可以取回数据。如果没有Facebook的积极许可,这是不可能的;不仅仅是Ajax。参考:还有。首先,你不是以这种方式登录的(如果这是你的目标的话)。其次,Facebook上的许多代码是在页面加载后由JavaScript生成的。这可能会导致XHR请求返回的返回数据出现问题。首先,您可以尝试转储返回的数据并确认某些其他内容,例如;我的响应中是否加载了其他JavaScript生成的信息?,(如果您想登录;)我是否已登录?(你可能需要使用Facebook API来实现这一点)@Allendar Nandan说“获取锚定标签”,因此这似乎是试图解析返回的HTML。[我猜标题是错误的,而不是“使用用户名和密码”,它应该是“使用https”]@Nandan检查这个:谢谢你,但是有没有办法让我可以向页面提供我的凭据(用户名、密码)并让我获得数据。?没有。因为Facebook只查找加密的cookie(令牌)。你甚至不能创建一个有效的cookie。所以,我没有办法做到。?