第一种方法:
【简述】:使用Webbrowser控件读取网页,将网页中的数据读成二进制的,然后使用File.WriteAllBytes()写入文件中
private void GetWebStream()
{
Stream stream = webShow.DocumentStream;
buffer = new byte[stream.Length];
stream.Read(buffer, 0, Convert.ToInt32(stream.Length));
//File.WriteAllBytes(address, buffer);
stream.Write(buffer,0,Convert.ToInt32(stream.length));
}
第二种方法:
private void GetWebStream()
{
HttpWebRequest Req = (HttpWebRequest)WebRequest.Create(webBrowser1.Url);
Req.UserAgent = "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.0; .NET CLR 1.1.4322)";
Req.Timeout = 30000;
try
{
StreamReader responseReader = new StreamReader(Req.GetResponse().GetResponseStream(), Encoding.Default);
string responseData = responseReader.ReadToEnd();
responseReader.Close();
StreamWriter sw = new StreamWriter(@"index.html", false, Encoding.Default);
sw.Write(responseData);
sw.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
第三种方法:
private void button1_Click(object sender, EventArgs e)
{
string filename = "index.html";
string url = webBrowser1.Url.ToString();
string localPath = "F://";
DownloadOneFIleByUrlWithWebclient(filename, url, localPath);
}
private void DownloadOneFIleByUrlWithWebclient(string filename,string url,string localPath)
{
System.Net.WebClient wc = new System.Net.WebClient();
if (File.Exists(localPath + filename) == false)
{
Directory.CreateDirectory(localPath);
}
wc.DownloadFile(url, localPath + filename);
}