问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#不用WebBrowser直接下载网页HTML源码

发布网友 发布时间:2022-04-29 02:26

我来回答

6个回答

热心网友 时间:2022-04-20 21:38

最简单的用WebClient:
调用方法:string html=DownloadData("http://www.baidu.com",Encoding.GetEncoding("gb2312"));

public static string DownloadData(string url,Encoding encoding)
{
WebClient web = new WebClient();
return encoding.GetString(web.DownloadData(url));
}

复杂一点用HttpWebRequest/HttpWebResponse:
调用方法:string html=DownloadHtmlPage("http://www.baidu.com",Encoding.GetEncoding("gb2312"),"GET",20);

public static string DownloadHtmlPage(string pageUrl, Encoding encoding, string requestMethod,int timeOut)
{
string value = string.Empty;
HttpWebResponse response=null;
Stream data=null;
StreamReader sr=null;
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(pageUrl);
request.Method = requestMethod;
if (timeOut != -1) request.Timeout = timeOut;
response = (HttpWebResponse)request.GetResponse();
data = response.GetResponseStream();
sr = new StreamReader(data, encoding);
string str;
StringBuilder source = new StringBuilder();
while ((str = sr.ReadLine()) != null)
source.Append(str).Append("\r\n");
value = source.ToString();
}
finally
{
if (sr != null) sr.Close();
if(data!=null) data.Close();
if(response!=null) response.Close();
}
return value;
}

热心网友 时间:2022-04-20 22:56

可以直接用WebClient。具体的参考MSDN,比自己用HttpWebRequest和HttpWebResponse简单许多。但是在需要Cookies的场合,还是使用后者比较可靠一点,或自己重写WebClient。

热心网友 时间:2022-04-21 00:31

你获得的源码都是html超文本标记语言,不会得到ASP JSP PHP代码的
源码有那么容易获取吗?有那么容易获取,网站早就不安全了。

热心网友 时间:2022-04-21 02:22

/// <summary>

        /// 获取html代码

        /// </summary>

        /// <param name="url">网页地址</param>

        /// <returns></returns>

        public string GetHtml(string url)

        {

            string str = string.Empty;

            try

            {

                WebRequest request = WebRequest.Create(url);

                request.Timeout = 30000;

                request.Headers.Set("Pragma", "no-cache");

                WebResponse response = request.GetResponse();

                Stream streamReceive = response.GetResponseStream();

                Encoding encoding = Encoding.GetEncoding("GB2312");

                StreamReader streamReader = new StreamReader(streamReceive, encoding);

                str =  streamReader.ReadToEnd();

                streamReader.Close();

            }

            catch (Exception ex)

            { }

            return str;

        } 

测试过 没问题  给分   有图有* 读取Mop的帖子

热心网友 时间:2022-04-21 04:30

三楼说的不错,最常用也是最先能想起的就是webclient了!

热心网友 时间:2022-04-21 06:55

WebBrowser不是.Net2.0内置的?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
请问哪位大哥“谨谢不敏”是什么意思? 小女子尽谢不敏什么意思 谨谢不敏是什么意思? 敬谢不敏是是什么意思? 谢不敏的意思是什么 谢不敏词语解释 什么叫“谢不敏”? 6岁儿童晚上睡眠不好怎么办 六岁孩子精神异常怎么办 小程序开发需要什么技术 没有技术如何开发小程序 自适应个人主页html源码,哪里下载? 急!本人现需要下载HTML源代码 农行扣年费10元,是什么钱? 我的农行网银为什么今天扣了十元钱?信息说是16年费交易,到底是什么意思呢? 为什么农信银行与农业银行转帐每100元需要扣10元,这10元哪去了问懂知识朋友? 农信银来账扣十元钱是怎么回事,什么是农信银来账啊? 从新注册一个微信公众号,但怎么把原先那里面粉丝拷贝过来?? 农村信用社银行卡莫名扣10元是什么意思? 如何管理’Systemd’服务和单元在Linux中使用’Systemctl’ 为什么农村信用社的卡会自动扣钱? 为什么农村信用社老是扣钱?? 为什么农村信用社的卡会自动扣钱 qq下载文件在哪 QQ空间psd文件下载 采纳后加分哦 QQ影像可以查看PSD格式的文件么? 我下载的psdQQ空间素材怎么打不开?? QQ空间PSD源文件哪里可以免费下载。 谁知道这个图片的psd文件在哪?着急啊、、 吐槽大会为什么不邀请郭德纲? 有没有吐槽大会禁播的那一期? 我从网上下载了一个html源码,怎么才能判断他里面有没有后门啊?大侠们推荐个最简单,最准确的方法,谢谢 html中的下载代码? vb循环下载html源代码,急,谢谢啦 如何批量下载动态网页生成的HTML代码 现在英国的城市化水平是不是已经达到了90% 求网站中下载的html代码 怎样编码实现将下载的网页源代码生成html文件 html全功能班级网站源码在那可以免费下载? 2012年中国的城镇化率与世界各国的比较? 如何使用html语言编写下载本地文件的代码?要详解,谢谢! 城市化水平最高的国家排序 求一段html代码!下载文件到本地 就是指定一个链接。然后下载那个文件保存到电脑上 南美洲城市化率 现在世界上城市化水平最高的国家是不是英国 跑步前是不是不能喝水?喝了会怎样 运动前多长时间喝水 军大衣怎么洗 羊毛军大衣怎么清洗 刚买回来的羊毛军大衣有个味道怎么处理? 网上买的军大衣膻味特别重?