使用chrome扩展程序登录网站并从中获取数据

时间:2011-03-18 15:17:53

标签: google-chrome cross-domain google-chrome-extension xmlhttprequest

我正在开发一个Chrome / Chromium扩展程序,它将从学校系统中读取成绩等级的学校成绩。问题是该网站不记得登录用户。因此,我不能使用AJAX。

仅当我在其他标签上登录该页面时。但我想在后台自动登录该页面。解决方案可能是iframe标签,但Chrome / Chromium不允许我使用iframe内容进行阅读和操作。是否有任何解决方案如何作为登录用户在页面中操作?谢谢

2 个答案:

答案 0 :(得分:9)

您可以通过背景页面中的javascript模拟表单提交。首先,您需要仔细检查通过登录表单发送的数据以及哪个URL(在发送之前可以使用javascript更改表单,因此您需要知道实际发送的内容,而不仅仅是<form>元素中的内容)。你可以使用Chrome的控制台来处理简单的事情,如果还不够,那么Firefox就有Tamper Data plugin,而对于核心流量检测你可以使用Wireshark分析器。

然后在后台页面(我在这里使用jQuery):

$.ajax({
    url: "https://login_form.html",
    type: "GET",
    dataType: "html",
    success: function() {
        $.ajax({
            url: "https://login_form_submits_to.html",
            type: "POST",
            data: {
                    "username": "username",
                    "password": "password",
                    "extra_field": "value"
            },
            dataType: "html",
            success: function(data) {
                   //now you can parse your report screen
            }
        });
    }
});

好的是Chrome会保留会话和Cookie,因此就像手动登录一样(如果您现在在浏览器中打开您的网站,则应该登录)。

答案 1 :(得分:0)

如何使用cURL无形地将用户登录到系统中,然后从JSONP调用中返回结果?

相关问题