C# 模擬網站登錄

實現此功能首先須要藉助一些抓包工具,對相應的網站登錄過程進行分析,此過程根據網站的不一樣,可能複雜,也可能很簡單。經常使用的抓包工具FF下FireBug和IE下的HttpWatch.這兩個工具很強大,以此工具獲取的信息足以應對C#模擬網站登錄過程所須要的信息。抓包工具的使用教程網上不少,例如FireBug教程,在此就不作過多介紹。固然網上C# C/S結構模擬網站登錄信息也不少,但基本都是代碼片斷或是邏輯很複雜。因此把我實踐的過程寫下來與你們分享。此實驗過程是基於模擬登錄校內而完成的。html

首先使用FireBug 獲取登錄相關信息,在點登錄以前先把FireBug中信息清除,這樣獲取的信息就從點擊登錄按鈕後開始,以便後續分析,以下圖:服務器

每次請求與下一次請求之間的聯繫就是每次請求後返回的Cookies數據,前一次的返回Cookie數據須要同下一次請求一同發送到服務器,這也是C#模擬網站登錄的關鍵。詳見如下邏輯代碼:工具

View Code

如下是測試代碼,POST請求一次,GET請求三次。最後獲得登錄後加載的首頁的HTML代碼。固然,登錄後就能夠依據當前的Cookie數據獲取網站的其餘子頁面HTML。如下是登錄後加載的首頁的HTML代碼的邏輯。post

View Code

第一次POST數據的URL爲登錄提交數據的頁面,此地址不必定能在抓包工具中獲得,這就須要分析,方法不少(網上不少),例如查看登錄頁面源碼等。測試


  POST提交的數據能夠在抓包工具中獲得,如下是FireBug中獲得的信息:網站

把代碼Copy執行如下,自動登陸成功了吧!!spa

好了,就這些了,此過程當中就是每次請求都延續應用前一次請求返回的Cookie數據,只要這步原理理解,此過程也就沒有什麼難度了。code

相關文章
相關標籤/搜索