Fastest C# Code to Download a Web Page

后端 未结 6 1040
不思量自难忘°
不思量自难忘° 2021-01-30 06:31

Given a URL, what would be the most efficient code to download the contents of that web page? I am only considering the HTML, not associated images, JS and CSS.

相关标签:
6条回答
  • 2021-01-30 06:58
    public static void DownloadFile(string remoteFilename, string localFilename)
    {
        WebClient client = new WebClient();
        client.DownloadFile(remoteFilename, localFilename);
    }
    
    0 讨论(0)
  • 2021-01-30 07:01

    Use the WebClient class from System.Net; on .NET 2.0 and higher.

    WebClient Client = new WebClient ();
    Client.DownloadFile("http://mysite.com/myfile.txt", " C:\myfile.txt");
    
    0 讨论(0)
  • 2021-01-30 07:02

    System.Net.WebClient

    From 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 ();
        }
    }
    
    0 讨论(0)
  • 2021-01-30 07:03

    WebClient.DownloadString

    public static void DownloadString (string address)
    {
        WebClient client = new WebClient ();
        string reply = client.DownloadString (address);
    
        Console.WriteLine (reply);
    }
    
    0 讨论(0)
  • 2021-01-30 07:05

    here is my answer ,a method that takes a URL and return a 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;
        }
    
    0 讨论(0)
  • 2021-01-30 07:05

    I think this is the fastest (download speed time with low latency) solution for download.

    // WebClient vs HttpClient vs HttpWebRequest vs RestSharp
    // در نهایت به نظرم روش زیر سریعترین روشه
    HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(url);
    Request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
    Request.Proxy = null;
    Request.Method = "GET";
    using (WebResponse Response = Request.GetResponse())
    {
        using (StreamReader Reader = new StreamReader(Response.GetResponseStream()))
        {
            return Reader.ReadToEnd();
        }
    }
    
    0 讨论(0)
提交回复
热议问题