2010-08-13 58 views
3

我希望以編程方式下載需要登錄才能查看的網頁。有沒有這樣做的理智方式?通過查看HTTP頭等,我可以看到作爲POST數據傳遞的用戶名/密碼,但請求附帶此信息的頁面不夠好。我認爲cookie也涉及到,它看起來像包含某種加密的授權數據。如何下載安全的網頁

有沒有辦法僞造這個?語言在這裏並不太重要,但像Perl這樣可以相對輕鬆地在Linux上運行的東西會很好。或者,也許命令行瀏覽器可以編寫腳本?

+0

什麼是登錄頁面?如果它像Thales SSO頁面那樣,那麼它會在提交之前在頁面的腳本中加密用戶名和密碼 - 這些事情可能會變得非常複雜。 – Rup 2010-08-14 00:36:06

回答

1

是的,您可以通過curl命令行工具或CURL庫來完成此操作。您需要弄清楚cookie中應該包含什麼內容,然後通過curl-b選項或等效的CURL API傳遞它們。

您也可以通過CURL執行HTTP基本驗證。

如果頁面爲確實複雜,您必須事先進行HTML解析甚至JS解釋才能提取cookie數據。這仍然是可行的,但不是單獨使用CURL。

作爲一般說明,任何Web瀏覽器都可以編寫腳本。圖靈完備性等等。 BlueSocket銷售的「不可編輯的」俘虜門戶網站是一大堆垃圾;他們基本上只是混淆的網頁。他們會讓你放慢腳步,但永遠不會阻止你 - 他們必須給你鑰匙才能工作!

+0

這是我需要的大學時間表信息,在我發佈問題到學期開始後大約5分鐘後他們記下了這些信息。不得不等待,直到現在嘗試它,但這看起來應該工作,謝謝。 – tsvallender 2010-08-14 10:32:15

1

Php的CURL會做到這一點。如果此解決方案適合您,請檢查here