我正在開發Chrome/Chromium擴展程序,該程序將從學校系統中讀取學校成績與成績。問題是該網站不記得登錄的用戶。正因爲如此,我無法使用AJAX。用Chrome擴展程序登錄網站,並從中獲取數據
只有當我登錄到其他選項卡上的該頁面時。但我想在後臺自動登錄到該頁面。解決方案可能是iframe標籤,但Chrome/Chromium不允許我讀取和操作iframe內容。是否有任何解決方案如何在頁面中作爲登錄用戶操作?謝謝
我正在開發Chrome/Chromium擴展程序,該程序將從學校系統中讀取學校成績與成績。問題是該網站不記得登錄的用戶。正因爲如此,我無法使用AJAX。用Chrome擴展程序登錄網站,並從中獲取數據
只有當我登錄到其他選項卡上的該頁面時。但我想在後臺自動登錄到該頁面。解決方案可能是iframe標籤,但Chrome/Chromium不允許我讀取和操作iframe內容。是否有任何解決方案如何在頁面中作爲登錄用戶操作?謝謝
您可以通過背景頁面模擬通過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的持續會話和餅乾,所以它像手動登錄(如果你現在在打開你的網站瀏覽器你應該登錄)。
如何使用cURL將用戶隱藏地登錄到系統中,然後從JSONP調用中返回結果?
是的,這將是個好主意,但我如何從擴展中運行cURL? – 2011-03-20 06:05:21
設置對服務器端腳本的AJAX調用? – BenM 2011-03-20 11:19:47
我可以看到,我對這次討論的時間已經很晚了,但我只是想問一下,如果以這種方式發送登錄數據是否存在安全隱患。 – 2014-04-08 15:14:35