最终界面图:
源代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
namespace PageSucker
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
System.Threading.Tasks.Task.Factory.StartNew(() => {
int start=int.Parse(textBox1.Text);
int end=int.Parse(textBox2.Text);
string filename=DateTime.Now.ToString("yyyyMMddHHmmsss");
for (int i = start; i <= end;++i )
{
getPage(filename,i,textBox3.Text + i + textBox4.Text);
}
MessageBox.Show("结束");
});
}
public void getPage(string filename,int idex,String url)
{
WebResponse result = null;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.UserAgent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
req.Referer = url;
result = req.GetResponse();
Stream reader = result.GetResponseStream();
FileStream writer = new FileStream(filename + idex + textBox4.Text, FileMode.OpenOrCreate, FileAccess.Write);
byte[] buff = new byte[512];
int c = 0; //实际读取的字节数
while ((c = reader.Read(buff, 0, buff.Length)) > 0)
{
writer.Write(buff, 0, c);
}
writer.Close();
}
catch (Exception exp)
{
Console.Write(exp.StackTrace);
}
finally
{
if (result != null)
{
result.Close();
}
}
}
}
}