2012-07-23 100 views
1

我想使用C#登錄到一個網站,然後轉到網站的其他頁面(需要登錄)並獲取HTML,所以我可以用htmlagilitypack進行分析。如何使用c#登錄到https網站並保持會話?

我可以得到一個網頁的HTML沒有問題,但我在記錄部分有困難。

我啓動了Fiddler並登錄來看看會出現什麼(我是新來的小提琴手),並列出了兩件事情,兩個CONNECT(我期待它會是一個帖子,因爲表單是POST? ??)

網站,我想進入的是: https://amn.efanniemae.com/AMN/control

任何人都可以點我在正確的方向/告訴我如何做到這一點?

謝謝。

回答

1

提琴手不會解密SSL流量,直到你在選項中啓用它。轉到Fiddler選項,選中「解密ssl流量」,信任證書,您將看到流量。

+0

啊,謝謝。我現在很少會感到困惑,並會嘗試從這裏弄清楚。 – Kyle 2012-07-23 17:14:03

1

您可能希望與網站的所有者或文檔進行覈對,以確定他們是否有任何自動登錄方法。某些登錄系統允許您以查詢字符串(非常不安全)發送信息或將爲您提供正確的POST值以發送。請注意,自動POST登錄可能與手動登錄不同(即:爲AutoLogin設置隱藏表單值等),並且有些網站不希望用戶出於安全目的自動執行登錄過程。

如果第一步成功,大多數網站都會向您發送一個包含會話信息的cookie。所以爲了讓你的會話在請求之間保持連接,你只需保存這個cookie,然後用下一個請求發送它。使用HttpWebRequest對象,您可以使用CookieContainer屬性來獲取Cookie。

有關保存cookie的更多詳細信息,請參閱本SO後,How do I log into a site with WebClient?

相關問題