最快的C#代码下载网页
给定一个URL,下载该网页内容的最有效的代码是什么? 我只考虑HTML,而不是相关的图像,JS和CSS。
public static void DownloadFile(string remoteFilename, string localFilename) { WebClient client = new WebClient(); client.DownloadFile(remoteFilename, localFilename); }
System.Net.WebClient
来自MSDN:
using System; using System.Net; using System.IO; public class Test { public static void Main (string[] args) { if (args == null || args.Length == 0) { throw new ApplicationException ("Specify the URI of the resource to retrieve."); } WebClient client = new WebClient (); // Add a user agent header in case the // requested URI contains a query. client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); Stream data = client.OpenRead (args[0]); StreamReader reader = new StreamReader (data); string s = reader.ReadToEnd (); Console.WriteLine (s); data.Close (); reader.Close (); } }
使用System.Net中的WebClient类; 在.NET 2.0和更高。
WebClient Client = new WebClient (); Client.DownloadFile("http://mysite.com/myfile.txt", " C:\myfile.txt");
这里是我的答案,一个方法,接受一个URL并返回一个string
public static string downloadWebPage(string theURL) { //### download a web page to a string WebClient client = new WebClient(); client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); Stream data = client.OpenRead(theURL); StreamReader reader = new StreamReader(data); string s = reader.ReadToEnd(); return s; }
WebClient.DownloadString
public static void DownloadString (string address) { WebClient client = new WebClient (); string reply = client.DownloadString (address); Console.WriteLine (reply); }