/// <summary>
/// 获取一个网页的内容及Cookies
/// </summary>
/// <param name= "uri "> 访问的网址 </param>
/// <param name= "referer "> 网页的引用页 </param>
/// <param name= "incookies "> 输入的cookies </param>
/// <param name= "outcookies "> 输出的cookies </param>
/// <returns> 返回网页的内容 </returns>
public string GetPage(string uri,
string referer,
CookieContainer incookies,
ref CookieContainer outcookies)
{
outcookies = new CookieContainer();
HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(uri);
hwrq.Timeout = 5000;
hwrq.AllowAutoRedirect = false;
hwrq.UserAgent = "Mozilla ";
hwrq.CookieContainer = incookies;
hwrq.Referer = referer;
string content = string.Empty;
try
{
HttpWebResponse hwrs = (HttpWebResponse)hwrq.GetResponse();
//get each cookie
foreach (Cookie co in hwrs.Cookies)
{
Console.WriteLine(co.Name + "= " + co.Value);
outcookies.Add(co);
}
//get page content
Stream strm = hwrs.GetResponseStream();
StreamReader sr = new StreamReader(strm, Encoding.Default);
content = sr.ReadToEnd();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return content;
}
投票的代码如下:
public void Start()
{
Console.WriteLine( "自动网站投票机器人程序 ");
Console.WriteLine( "Code by Kwanhong 2006 http://bbs.helloit.info ");
Console.WriteLine( "转载本代码请保留上面两条信息!thanks ");
//uri1为进入投票页面的前一个页面的网址
string uri1 = "http://www.somevote.com/index.php ";
//uri2为投票页面的网址
string uri2 = "http://www.somevote.com/vote.php?id=1234 ";
//投上100票
for (int i = 0; i < 100; i++)
{
CookieContainer mycookies1 = new CookieContainer();
CookieContainer mycookies2 = new CookieContainer();
string content1 = GetPage(uri1, " ", mycookies1, ref mycookies2);
string content2 = GetPage(uri2, uri1, mycookies2, ref mycookies1);
Thread.Sleep(1000);
Console.WriteLine( "正在刷第…… " + i.ToString() + "次 ");
}
Console.WriteLine( "All complete! ");
Console.ReadLine();
}