zoukankan      html  css  js  c++  java
  • 网络文件下载

    下载验证码等网络资源

    using System.IO;
    using System.IO.Compression;
    using System.Net;
    
    namespace ConsoleApplication2
    {
        public static class HttpFileDownloader
        {
            public static byte[] DownLoad(string url)
            {
                byte[] buffer = null;
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
                req.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
                req.Headers.Add("Accept-Encoding", "gzip, deflate");
                req.KeepAlive = true;
    
                using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
                {
                    Stream reader;
                    if (response.ContentEncoding.ToLower().Contains("gzip"))
                    {
                        reader = new System.IO.Compression.GZipStream(response.GetResponseStream(), CompressionMode.Decompress);
                    }
                    else
                    {
                        reader = response.GetResponseStream();
                    }
                    if (reader.CanRead)
                    {
                        MemoryStream ms = new MemoryStream();
                        reader.CopyTo(ms);
                        buffer = ms.GetBuffer();
                    }
                    reader = null;
                }
    
                req = null;
                return buffer;
            }
        }
    }

     保存到本地

            static void Main(string[] args)
            {
                string url = "https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand" + "&rnd=" + DateTime.Now.Millisecond;
                byte[] buffer = HttpFileDownloader.DownLoad(url);
                if (buffer!=null)
                {
                    System.IO.File.WriteAllBytes(@"d:img.png", buffer);
                }
            }
  • 相关阅读:
    参考博客
    拆包
    python2和python3关于列表推导的差别
    salt Rosters
    list.sort和内置方法sorted的区别
    关于在元祖中+=
    runners
    DataGridView合并单元格
    Android之TelephonyManager类的方法详解
    Android应用自动更新功能的代码实现
  • 原文地址:https://www.cnblogs.com/lucienbao/p/HttpFileDownloader.html
Copyright © 2011-2022 走看看