從今天開始給大家更新《VC++實戰(zhàn)HTTP之POST》教程,使用 WinHttp組件進行 Http Post 方面的相關開發(fā),教學大綱已經整理好,期間穿插各種實例來給大家講解演示。 如下: 01、Http協(xié)議頭的組成及含義; ①、什么是Http協(xié)議; ②、Http協(xié)議的通信過程; ③、URL格式詳解; ④、Request請求的方法; ⑤、Http協(xié)議Request請求頭結構; ⑥、Http協(xié)議Reponse應答頭結構; 02、WinHttp常用命令; ①、WinINet與WinHttp的異同點,為什么使用WinHttp講解? ②、WinHttp接口調用方式; ③、WinHttp常用命令講解; ④、WinHttp示例代碼; 03、GET方式獲取百度首頁源碼:類型庫生成包裝類的方式 ①、獲取網頁源碼的步驟; ②、實例化COM組件的幾種方法; a. 類型庫生成包裝類的方式:優(yōu)點->使用方便,貼近C++,缺點->COM接口的默認缺省參數(shù)必須填寫,不靈活; ③、各種ID的區(qū)別:GUID、UUID、CLSID、IID; ④、幾點備注; 前三課免費觀看,下載地址【回復后可見】: 游客,如果您要查看本帖隱藏內容請回復 04、GET方式獲取百度首頁源碼:import+接口方式 ①、優(yōu)缺點:import+接口方式:優(yōu)點->COM接口的申請與釋放自己控制,很靈活,缺點->控制不好,引起內存泄露,且COM組件的實例化參數(shù)較多; 05、GET方式獲取百度首頁源碼:import+智能指針包裝類的方式 ①、優(yōu)缺點:import+智能指針包裝類的方式:優(yōu)點->智能指針,使用方便,不用擔心內存泄露,COM組件實例化簡單,可使用COM組件的默認缺省參數(shù); ②、IWinHttpRequest 的異常處理:try-catch 方式; ③、只能指針的全局保存,復用機制。 06、實戰(zhàn)POST方式登陸網站: ①、成果作品展示:登錄idc3389網站并獲取用戶信息; ②、抓包分析登錄流程; ③、添加實現(xiàn)登錄流程代碼; 07、登陸完畢獲取用戶信息: ①、抓包分析獲取用戶信息流程; ②、實現(xiàn)獲取用戶信息流程; ③、備注問題; a. 分析登錄函數(shù)與獲取用戶信息的兩個函數(shù)中,是否應該每次都新建一個IWinHttpRequestPtr類型的指針并實例化進行網絡操作? b. 分析幾次Http的Cookie交互情況,得到為什么? 08、截獲Cookie免登陸獲取會員信息: ①、成果作品展示,截圖如下: ②、抓包分析登錄流程; ③、代碼實現(xiàn)登錄流程; ④、WinHttp的302自動跳轉機制的開啟與關閉; ⑤、WinHttp的Cookie機制解析; ⑥、抓包分析獲取會員信息流程; ⑦、代碼實現(xiàn)獲取會員信息流程; ⑧、截獲Cookie實現(xiàn)免登陸獲取用戶信息; ⑨、相關文檔下載; 09、帶驗證碼的POST封包登陸: ①、成果作品展示,截圖如下: ②、抓包分析登錄流程; ③、代碼實現(xiàn)網絡獲取驗證碼圖片; ④、內存加載驗證碼圖片并顯示; ⑤、代碼實現(xiàn)登錄流程; ⑥、代碼實現(xiàn)獲取會員信息流程; ⑦、相關文檔下載; 10、打碼平臺對接實現(xiàn)驗證碼的自動識別與輸入: ①、驗證碼識別原理; ②、打碼平臺原理; ③、對接驗證碼識別平臺+代碼實現(xiàn); ④、相關文檔下載; 11、C++調用JS函數(shù)實現(xiàn)MD5加密: ①、成果作品展示,截圖如下: ②、Javascript 語言簡介; ③、C++與JS交互原理; ④、常見JavaScript引擎; ⑤、基于SpiderMonkey封裝類庫:JsMgr 供本教程使用; ⑥、使用 JsMgr 庫的準備工作; ⑦、開始使用 JsMgr 庫; ⑧、實現(xiàn)字符串的MD5加密; ⑨、相關文檔下載; 12、封裝微軟MsScript.ocx組件的IScriptControl接口實現(xiàn)JS的MD5加密: ①、成果作品展示,截圖如下: ②、封裝 MsScript.ocx 組件的 IScriptControl 接口的緣由及難度性:調用JS文件中某個對象的函數(shù); ③、使用封轉好的 MSJsMgr 庫的準備工作; ④、開始使用 MSJsMgr 庫; ⑤、實現(xiàn)字符串的MD5加密; ⑥、小作業(yè):程序執(zhí)行完畢,調用CoUninitialize()引起崩潰的問題; ⑦、相關文檔下載; 13、實戰(zhàn)多線程POST登陸 idc3389.com: ①、成果作品展示,截圖如下: ②、用戶賬號密碼文件的解析及多線程的開啟; ③、COM組件初始化CoInitialize()的作用域單位; ④、線程函數(shù)中用戶登陸、信息獲取 的相關操作; ⑤、線程間同步,防止異常的發(fā)生; ⑥、相關文檔下載; 14、Winhttp代理的設置及json數(shù)據(jù)解析: ①、成果作品展示,截圖如下: ②、Winhttp代理的設置; ③、json數(shù)據(jù)的解析: a、json簡介; b、json與xml的區(qū)別; c、json數(shù)據(jù)在C++中的解析庫:jsoncpp; d、如何使用類似jsoncpp的開源庫為己用; ④、獲取本電腦公網ip地址; 15、全自動注冊網易郵箱之流程分析: ①、多入口分析; ②、使用Chrome瀏覽器模擬手機瀏覽器; ③、根據(jù)抓包結果分析注冊流程; 16、反向分析郵箱注冊流程: ①、分析每個請求的三個重要點:URL、Cookie、Body 17、分析JS加密的驗證碼URL: ①、分析Http請求的三個關鍵點; ②、反向分析之關鍵; ③、活用工具,事半功倍。 18、正向解析網易郵箱注冊流程I: ①、前置基礎知識要求; ②、相關前置基礎知識學習網站推薦; ③、Chrome 的JS腳本調試功能介紹。 19、正向解析網易郵箱注冊流程II: 20、實戰(zhàn)Chrome瀏覽器JS調試注冊提交按鈕執(zhí)行流程: 21、代碼獲取注冊頁源碼及相關加密字段: ①、GET方式獲取注冊頁源碼; ②、提取jSessionID、env、time、prepareUrl 等相關字段信息,以備后用; ③、整理JS腳本代碼,提取env字段加密函數(shù); ④、C++版獲取毫秒級時間的代碼; ⑤、C++調用JS加密函數(shù)。 22、HttpS請求與注冊驗證碼的獲取: ①、根據(jù)加密結果構造驗證碼圖片URL,獲取驗證碼并顯示; ②、Get方式獲取加密HTTPS的網頁信息: a、HttpS概要說明,為什么會有HttpS? b、使用Fiddler抓Https的包: c、如果訪問某Https的網站要求安裝證書一類的怎么辦; d、新建winhttp對象,獲取https的prepare頁面信息,得到Cookie: ③、模擬輸入用戶名、密碼、驗證碼等事件,向服務器POST發(fā)包; ④、小作業(yè):; 23、提交郵箱注冊結果: ①、同步機制,等待用戶輸入驗證碼; ②、注冊按鈕提交操作; ③、注冊結果說明。 以上,等等吧,大家有什么其他方面想添加的知識點跟帖回復即可,待整理好教學文檔之后,一并更新到該套課程中,還請大家支持哦! |