首先要了解對方網頁的運行機制 ,這可以用httpwacth或者httplook來看一下http發送和接收的數據。這兩個工具應該說是比較簡單易懂的。這裡就不再介紹了。主要關注的內容是header和post的內容。一般會包括cookie,Referer頁面和其他一些亂其八糟可能看不懂的變量,還有就是正常交互的參數,比如需要post或者get的querystring所包含的東西。
httplook和httpwacth 網上有很多下載的,這裡推薦使用httpwach,因為可以直接嵌入到ie中,個人覺得這個比較好用。這兩個工具可以到我上傳在csdn的資源中下載,地址為
http://download.csdn.net/user/jinjazz
這裡簡單給出一段可以抓取數據的c#代碼,比如登錄某個網站,獲取登錄成功後的html代碼,供數據分析使用。
private void login()
{
System.Net.WebClient wb = new System.Net.WebClient();
System.Collections.Specialized.NameValueCollection header = new System.Collections.Specialized.NameValueCollection();
header.Add( " Cookie " , " czJ_cookietime=2592000; czJ_onlineusernum=1651; czJ_sid=w4bGJd " );
header.Add( " Referer " , @" http://hovertree.net/bbs/login.php " );
wb.Headers.Add(header);
System.Collections.Specialized.NameValueCollection data = new System.Collections.Specialized.NameValueCollection();
data.Add( " formhash " , " ebd2faac " );
data.Add( " referer " , " http://hovertree.net/bbs/search.php " );
data.Add( " loginfield " , " username " );
data.Add( " username " , " jinjazz " );
data.Add( " password " , " 999 " );
data.Add( " questionid " , " 0 " );
data.Add( " answer " , "" );
data.Add( " cookietime " , " 2592000 " );
data.Add( " loginmode " , "" );
data.Add( " styleid " , "" );
data.Add( " loginsubmit " , " 提交 " );
byte [] b = wb.UploadValues( " http://hovertree.net/bbs/login.php " , " Post " , data);
string strData = System.Text.Encoding.Default.GetString(b);
Console.WriteLine(strData);
}
以上代碼除了三個url之外其他數據都是真實的,其中header和data中的參數和值都是用httpwatch來監測後得到。