0

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

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

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

4

2 回答 2

4

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

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

然而:

  1. 如果 URL 是跨域的网页并且您已禁用第三方 cookieGM_xmlhttpRequest不会发送 cookie,并且目标站点将不知道您与之进行的任何会话。

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

    请参阅“如何获取 AJAX 获取请求以在返回响应之前等待页面呈现?” 如果您需要获取支持 AJAX 的网站,请了解更多信息和提示。

于 2013-05-29T15:51:00.893 回答
-2

天哪,完全可以!!!!!!!

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();
于 2013-05-29T14:14:50.383 回答