Download the first 1000 bytes

后端 未结 2 1283
囚心锁ツ
囚心锁ツ 2021-01-05 10:11

I need to download a text file from the internet using C#. The file size can be quite large and the information I need is always within the first 1000 bytes. Is this possibl

相关标签:
2条回答
  • 2021-01-05 10:22

    I did this as an answer to your newer question. You could put the range header in too if you want, but I excluded it.

        string GetWebPageContent(string url)
        {
            //string result = string.Empty;
            HttpWebRequest request;
            const int bytesToGet = 1000;
            request = WebRequest.Create(url) as HttpWebRequest;
            var buffer = new char[bytesToGet];
            using (WebResponse response = request.GetResponse())
            {
                using (StreamReader sr = new StreamReader(response.GetResponseStream()))
                {
                    sr.Read(buffer, 0, bytesToGet);
                }
            }
            return new string(buffer);
        }
    
    0 讨论(0)
  • 2021-01-05 10:39

    Stolen from here.

    string GetWebPageContent(string url)
    {
        string result = string.Empty;
        HttpWebRequest request;
        const int bytesToGet = 1000;
        request = WebRequest.Create(url) as HttpWebRequest;
    
        //get first 1000 bytes
        request.AddRange(0, bytesToGet - 1);
    
        // the following code is alternative, you may implement the function after your needs
        using (WebResponse response = request.GetResponse())
        {
            using (Stream stream = response.GetResponseStream())
            {
                byte[] buffer = new byte[1024];
                int read = stream.Read(buffer, 0, 1000);
                Array.Resize(ref buffer, read);
                return Encoding.ASCII.GetString(buffer);
            }
    
        }
    }
    

    (Edited as requested in the comments... ;) )

    0 讨论(0)
提交回复
热议问题