相關(guān)資訊
本類常用軟件
-
福建農(nóng)村信用社手機銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416898
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機銀行客戶端下載下載量:365699
-
快播手機版下載量:325855
HTTPS的POST登錄數(shù)據(jù)包方式
2012/4/13 16:54:25 出處:本站原創(chuàng) 人氣:3273次 字號:小 中 大
[原理分析]
要驗證一個帳號是否合法,那么用登錄方式來驗證就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;