我正在开发一个Chrome / Chromium扩展程序,它将从学校系统中读取成绩等级的学校成绩。问题是该网站不记得登录用户。因此,我不能使用AJAX。
仅当我在其他标签上登录该页面时。但我想在后台自动登录该页面。解决方案可能是iframe标签,但Chrome / Chromium不允许我使用iframe内容进行阅读和操作。是否有任何解决方案如何作为登录用户在页面中操作?谢谢
答案 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调用中返回结果?