GM_xmlhttpRequest是否访问网站,就像我在浏览器中访问网站一样



我很好奇GM_xmlhttpRequest()在某些情况下是如何读取页面的。
GM_xmlhttpRequest是否访问网站,就像我在浏览器中访问网站一样?

会话仍然有效吗?例如:如果我从一个浏览器标签登录到一个网站,然后,从另一个标签,我从我的脚本发送GM_xmlhttpRequest,这个新的请求也登录了吗?

我问的一个原因是因为在我的脚本中的一个点,我正在发送一个GM_xmlhttpRequest到我的域的一个页面,报告从PHP的REMOTE_ADDR。这是报告回我的计算机的IP(这是我想要的),而不是我调用这个函数的页面。

GM_xmlhttpRequest是否访问网站,就像我在浏览器中访问网站一样?也就是说,会话是否仍然有效?

是和不是。通常,GM_xmlhttpRequest看起来就像Firefox对URL的请求。它发送通常的报头,它通常发送任何cookie。是的,请求来自您的浏览器,因此它会报告您的IP地址。这意味着你与网页的任何会话通常都会被保留。

然而:

  1. 如果URL是跨域到网页,并且您已经禁用了第三方cookie ,那么GM_xmlhttpRequest将不会发送cookie,目标站点将不知道您与它的任何会话。

  2. GM_xmlhttpRequest只加载请求的URL。如果它是一个网页,任何:图像,CSS文件,JS文件等——网页调用——将不会被加载或处理。页面中任何嵌入的javascript都不会被运行。

    参见"如何让AJAX get-request在返回响应之前等待页面呈现?"以获取更多信息和技巧,如果您需要获取ajax支持的站点。

天哪,它完全做到了!!!!!!

var server2="http://www.somesiteimloggedinto.com";
var test_data=function(){
    GM_xmlhttpRequest({
        method: "GET",
        url: server2,
        onload: function(response) {
            if(response.status == 200){
                alert(response.responseText);
            }
        },
        onerror: function(response) {
            console.log("Connection to "+server2+" failed.");
        }
    });
};
test_data();

相关内容

  • 没有找到相关文章

最新更新