#⇔*求知 2021-08-13 23:15 采纳率: 0%
浏览 560
已结题

Stream.Length和.Position引发了类型'System.NotSupportedException'的异常

stream:'dataStream.Length'抛出了一个'System.NotSupportedException'类型的异常 Position ='dataStream.Position'抛出了一个'System.NotSupportedException'类型的异常


public static Stream DownloadFile(string Url)
        {
            //网页请求
            HttpWebRequest Myrq = (HttpWebRequest)WebRequest.Create(Url);//进行强制转换
            //连续性连接
            Myrq.KeepAlive = false;
            //超时值
            Myrq.Timeout = 30 * 1000;//30//请求方法
            Myrq.Method = "GET";
            Myrq.ContentType = "text/html; charset=UTF-8";
            //Accept的值
            Myrq.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
            //对有反爬的网页很关键
            //Myrq.Host = "image.baidu.com";
            //Myrq.Referer = "https://image.baidu.com/";
            //类似于ID
            Myrq.UserAgent = GetUA();

            //服务器回应
            HttpWebResponse Myrp = (HttpWebResponse)Myrq.GetResponse();//进行强制转换
            //是否相应成功
            if (Myrp.StatusCode != HttpStatusCode.OK)
            {
                return null;
            }
            return Myrp.GetResponseStream();
        }
private string DownloadsURL(string url, string pages)
        {
            int pagess = int.Parse(pages);
            string Html = null;
            for (int i = 0; i < pagess; i++)
            {
                Stream stream = null;
                string Durl = url.Replace("[REPLACE]", (50 * i).ToString());
                try
                {
                    stream = Downloas.DownloadFile(Durl);
                }
                catch
                {

                    continue;
                }
                try
                {
                    using (StreamReader sr = new StreamReader(stream))
                    {
                        Html = sr.ReadToEnd();
                    }
                }
                catch
                {

                    continue;
                }
            }
            return Html;
        }
        public string Downloadworld(string keyname, string zMax, string ICColor, string page)
        {
            //Stream stream = Downloas.DownloadFile(GetURL(keyname, zMax, ICColor));
            //using (StreamReader sr = new StreamReader(stream))
            //{
            //    return sr.ReadToEnd();
            //}
            return DownloadsURL(GetURL(keyname, zMax, ICColor), page);
            //return GetURL(keyname, zMax, ICColor);
        }
        //生成地址
        private string GetURL(string keyname, string zMax, string ICColor)
        {
            //关键字
            string queryWord, word;
            queryWord = UrlBianMa.UrlEncode(keyname);
            word = UrlBianMa.UrlEncode(keyname);
            //大小
            string z;
            z = zMax;
            //颜色
            string ic;
            ic = ICColor;
            string url = string.Format("https://image.baidu.com/search/acjson?tn=resultjson_com&logid=11225711020569559063&ipn=rj&ct=201326592&is=&fp=result&queryWord={0}&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z={1}&ic={2}&hd=&latest=&copyright=&word={3}&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&pn=[REPLACE]&rn=50", queryWord, z, ic, word);
            return url;
        }

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月21日
    • 创建了问题 8月13日

    悬赏问题

    • ¥15 Mplus跑出来的数据只有原数据的一半
    • ¥15 vue项目添加全局处理解决一些开发问题
    • ¥40 微信小程序前后端交互
    • ¥15 linux安装依赖问题
    • ¥50 数据预处理(大量数据)
    • ¥15 多设备数据融合可视化显示控制
    • ¥15 公众号关键词自动回复超链接
    • ¥18 help me! 希望大家来看看 吉~
    • ¥15 C++显示超限兔子集结
    • ¥15 sql server 2012的下载出错