當(dāng)前位置: 首頁IT技術(shù) → HTTPS的POST登錄數(shù)據(jù)包方式

HTTPS的POST登錄數(shù)據(jù)包方式

更多

[原理分析]

要驗證一個帳號是否合法,那么用登錄方式來驗證就OK了.如果能登錄成功就表示帳號合法,失敗就表示無效帳號.

[技術(shù)分析]

當(dāng)前有幾千個帳號需要處理,對方的登錄網(wǎng)站沒有驗證碼,所以比較好做.但要考慮一個問題,同一個IP登錄多次,那么對方網(wǎng)站會暫時封鎖你的IP.

還有一個問題對方的網(wǎng)站是HTTPS方式的,所以又需要一點技巧.

[技術(shù)透露]

1>我選擇用DELPHI來開發(fā),應(yīng)為DELPHI有IDHTTP控件和SSL控件

2>使用HTTP Analyzer工具分析登錄數(shù)據(jù)包并找到POST登錄數(shù)據(jù)包

[開發(fā)片段記錄]

1> DELPHI控件: TiDHTTP控件 TIdSSLIOHandlerSocketOpenSSL控件

2> libeay32.dll 和 ssleay32.dll文件

3> 使用 sslvSSLv3

[POST代碼片段]

procedure TForm1.ButtonPostClick(Sender: TObject);

var

str_Cookie : string ;

stream_HttpResponse : TStringStream ;

stream_PostData : TStringStream ;

begin

stream_HttpResponse := TStringStream.Create() ;

stream_PostData := TStringStream.Create('');

// 我們需要POST的登錄數(shù)據(jù)包,用HTTP Analyzer工具分析

stream_PostData.WriteString('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');

// 設(shè)置超時

IdHTTP1.ReadTimeout := 10000 ;

// 使用POST原理機制

try

IdHTTP1.Post('https://secure.xxxxxxxxxxx.com/m=weblogin/login.xxx',

stream_PostData,

stream_HttpResponse) ;

except

on ERROR : Exception do

begin

if ERROR is EIdHTTPProtocolException then

begin

ShowMessage((ERROR as EIdHTTPProtocolException).ToString);

end;

end;

end;

// 斷開鏈接

IdHTTP1.Disconnect ;

// 保存POST請求之后的反饋信息

stream_HttpResponse.SaveToFile(ExtractFilePath(Application.ExeName)+'rp.txt') ;

// 釋放資源

stream_HttpResponse.Free() ;

stream_PostData.Free() ;

end;

熱門評論
最新評論
第 1 樓 美國CZ88.NET 網(wǎng)友 客人 發(fā)表于: 2015/1/13 17:43:08
4354325235235

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)