C#获取网页HTML源码实例

本文实例讲述了C#获取网页HTML源码的方法,分享给大家供大家参考。具体方法如下:

关键代码如下:

代码如下:

/// <summary>
/// 获取网页HTML源码
/// </summary>
/// <param name="url">链接 eg:http://www.baidu.com/ </param>
/// <param name="charset">编码 eg:Encoding.UTF8</param>
/// <returns>HTML源码</returns>
public static string GetHtmlSource(string url, Encoding charset)
{

string _html = string.Empty;
    try
    {
 HttpWebRequest _request = (HttpWebRequest)WebRequest.Create(url);
 HttpWebResponse _response = (HttpWebResponse)_request.GetResponse();
 using (Stream _stream = _response.GetResponseStream())
 {
     using (StreamReader _reader = new StreamReader(_stream, charset))
     {
  _html = _reader.ReadToEnd();
     }
 }
    }
    catch (WebException ex)
    {
 using (StreamReader sr = new StreamReader(ex.Response.GetResponseStream()))
 {
     _html = sr.ReadToEnd();
 }
    }
    catch (Exception ex)
    {
 _html = ex.Message;
    }
    return _html;
}

测试代码如下:

代码如下:

public static void GetHtmlSourceTest()
{
    string _url = "http://www.baidu.com/";
    string _htmlSource = HttpWebRequestUtilsV2.GetHtmlSource(_url, Encoding.UTF8);
    Console.WriteLine(_htmlSource);
}

测试效果如下图所示:

希望本文所述对大家的C#程序设计有所帮助

(0)

相关推荐

  • C#实现压缩HTML代码的方法

    本文实例讲述了C#实现压缩html代码的方法,分享给大家供大家参考之用.具体方法如下: 主要代码如下: /// <summary> /// 压缩html代码 /// </summary> /// <param name="writer"></param> protected override void Render(HtmlTextWriter writer) { System.IO.StringWriter html = new Sys

  • C#.NET采用HTML模板发送电子邮件完整实例

    本文实例讲述了C#.NET采用HTML模板发送电子邮件的方法,是非常实用的技巧.分享给大家供大家参考.具体方法如下: 要使用html模板进行发送邮件,需要准备以下几项工作: 1)HTML模板 2)替换函数(替换模板中绑定的变量) 3)邮件函数(发送邮件) 一.HTML模板 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm

  • 使用C#获取网页HTML源码的例子

    最近在做一个项目,其中一个功能是根据一个URL地址,获取到网页的源代码.在ASP.NET(C#)中,获取网页源代码貌似有很多种方法,我随便搞了一个简单的WebClient,非常简单容易.但后面一个非常恼火的问题出来了,那就是中文的乱码. 通过仔细研究,中文的网页不外乎GB2312和UTF-8这两种编码.于是有了下面这段代码: 复制代码 代码如下: /// <summary>        /// 根据网址的URL,获取源代码HTML        /// </summary>   

  • C#实现将PPT转换成HTML的方法

    本文是一个C#的小程序,主要实现将ppt转换成html的功能,方法很多,此处与大家分享一下,希望能对大家的项目开发起到一定的借鉴作用. 主要功能代码如下: using System; using System.Collections.Generic; using System.Text; using System.IO; using PPT = Microsoft.Office.Interop.PowerPoint; using System.Reflection; namespace Writ

  • C#实现过滤html标签并保留a标签的方法

    本文实例展示C#实现过滤html标签,汉字间空格,制表符,并保留a标签的方法.分享给大家供大家参考之用.具体方法如下: 可以在公共类如Common中定义如下方法: public static string ClearHtmlExceptA(string html) { string acceptable = "a"; string stringPattern = @"</?(?(?=" + acceptable + @")notag|[a-zA-Z0

  • C#使用正则表达式过滤html标签

    在项目中遇到这样一个需求,需要将一段html转换为一般文本返回,万能的正则表达式来了. 正则表达式来拯救你,代码如下: public static string Html2Text(string htmlStr) { if (String.IsNullOrEmpty(htmlStr)) { return ""; } string regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; //定

  • C#实现下载网页HTML源码的方法

    本文实例讲述了C#实现下载网页HTML源码的方法.分享给大家供大家参考之用.具体方法如下: public static class DownLoad_HTML { private static int FailCount = 0; //记录下载失败的次数 public static string GetHtml(string url) //传入要下载的网址 { string str = string.Empty; try { System.Net.WebRequest request = Sys

  • C#使用for循环移除HTML标记

    移除一段文字中的HTML标记,以消除其中包含的样式和段落等,最常用的办法可能就是正则表达式了.但是请注意,正则表达式并不能处理所有的HTML文档,所以有时采用一个迭代的方式会更好,如for循环. 看下面的代码: using System; using System.Text.RegularExpressions; /// <summary> /// Methods to remove HTML from strings. /// </summary> public static c

  • C#中除去所有在HTML元素中标记

    /// 除去所有在HTML元素中标记   public static string StripHTML(string strHtml)   {    string strOutput=strHtml;    Regex regex = new Regex(@"<[^>]+>|</[^>]+>");    strOutput = regex.Replace(strOutput,"");    return strOutput;   

  • C# 封装HtmlHelper组件:BootstrapHelper

    前言:之前学习过很多的Bootstrap组件,博主就在脑海里构思:是否可以封装一套自己Bootstrap组件库呢.再加上看到MVC的Razor语法里面直接通过后台方法输出前端控件的方式,于是打算仿照HtmlHelper封装一套BootstrapHelper,今天只是一个开头,讲述下如何封装自己的Html组件,以后慢慢完善. 一.揭开HtmlHelper的"面纱" 经常使用Razor写法的园友都知道,在cshtml里面,我们可以通过后台的方法输出成前端的html组件,比如我们随便看两个例

随机推荐