问答文章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
CAD具体是学什么的 cad学什么专业好 CAD属于什么课型 文胸36/80是什么尺码 21.22.23.24.25.这5个数横竖家起来都要等于69 21.22.23.24.25.5个数字横竖等于69怎么做 已知递增的等差数列{an}满足a1=1,a3=a2²-4,则an=? 已知递增等差数列an的前n项和为Sn,a1=1,且a2+1,a4+1,S4成等比数列 求数... 金鱼吊兰有什么作用,可供观赏改善风水 金鱼吊兰是什么植物? 自适应个人主页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代码!下载文件到本地 就是指定一个链接。然后下载那个文件保存到电脑上 南美洲城市化率 现在世界上城市化水平最高的国家是不是英国 跑步前是不是不能喝水?喝了会怎样 运动前多长时间喝水 军大衣怎么洗 羊毛军大衣怎么清洗 刚买回来的羊毛军大衣有个味道怎么处理? 网上买的军大衣膻味特别重?