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 = System.Net.WebRequest.Create(url);
request.Timeout = 10000; //下载超时时间
request.Headers.Set("Pragma", "no-cache");
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream streamReceive = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("gb2312");//utf-8 网页文字编码
System.IO.StreamReader streamReader = new System.IO.StreamReader(streamReceive, encoding);
str = streamReader.ReadToEnd();
streamReader.Close();
}
catch (Exception ex)
{
FailCount++;

if (FailCount > 5)
{
var result = System.Windows.Forms.MessageBox.Show("已下载失败" + FailCount + "次,是否要继续尝试?" + Environment.NewLine + ex.ToString(), "数据下载异常", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Error);
if (result == System.Windows.Forms.DialogResult.Yes)
{
str = GetHtml(url);
}
else
{
System.Windows.Forms.MessageBox.Show("下载HTML失败" + Environment.NewLine + ex.ToString(), "下载HTML失败", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
throw ex;
}
}
else
{
str = GetHtml(url);
}
}

FailCount = 0; //如果能执行到这一步就表示下载终于成功了
return str;
}

}

时间: 2024-10-10 17:23:58

C#下载网页HTML源码的相关文章

从github下载最新Android源码

今年5月底开始,谷歌彻底被墙,所有谷歌的网站都不能访问了,这次包括了android.org,googlesource.com,code.google.com.Android官方的资源不能访问,想下载Android代码当然是困难重重了. 本文就为大家解决这一问题--介绍如何使从github.com/andorid下载Andorid最新源码.俗话说"授之以鱼不如授之以渔",本文不只是给出一个已经打包好的源码的链接,而是重现一下我是如何下载的,希望对大家遇到的类似的问题能有所帮助. gith

下载-深入浅出Netty源码剖析、Netty实战高性能分布式RPC、NIO+Netty5各种RPC架构实战演练三部曲视频教程

下载-深入浅出Netty源码剖析.Netty实战高性能分布式RPC.NIO+Netty5各种RPC架构实战演练三部曲视频教程 第一部分:入浅出Netty源码剖析 第二部分:Netty实战高性能分布式RPC 第三部分:NIO+Netty5各种RPC架构实战演练

[福音][散发]从github下载Android最新源码

============问题描述============ 我刚发表了一篇博文<从github下载最新Android源码>,想看Andorid源码,又迫于google被墙的同学可以看看- 本贴散分,先到先得- 文章链接:http://blog.csdn.net/xusiwei1236/article/details/39395359 (欢迎大家前去围观) ============解决方案1============ 我最先到..... ============解决方案2============ 沙

Maven引入依赖后自动下载并关联源码(Source)

好多用 Maven 的时候会遇到这样一个棘手的问题: 就是添加依赖后由于没有下载并关联源码,导致自动提示无法出现正确的方法名,而且不安装反编译器的情况下不能进入方法内部看具体实现 . 其实 eclipse 的 Maven 插件就提供了这个功能,但是可能有许多开发人员没关注这个功能,所以这个分享给那些不太清楚这个功能的同学,配置很简单,只需要勾选windows-Preferences-Maven- Download Artifact Sources这个选项就可以了 .

高仿天天动听音乐播放器,可联网下载歌词_Android源码

Android源码仿天天动听音乐播放器,可联网下载歌词 功能分类:影音 支持平台:Android 运行环境:Eclipse 开发语言:Java 开发工具:Eclipse 源码大小:1.94MB 下载地址:http://www.dwz.cn/wGVt2 源码简介 Android源码仿天天动听音乐播放器,可联网下载歌词. 源码运行截图

Android 在ubuntu上下载和编译系统源码

网上也有很多这样的教程,这里只是把它记录下来,方便日后查看. 官网教程:http://source.android.com/source/building.html 下载源码 分为以下几个步骤: 1.配置安装下载环境 配置 JDK环境 安装curl.git-core软件 sudo apt-get install curl sudo apt-get install git-core 2.创建一个~/bin目录,并添加到环境变量中 mkdir ~/bin PATH=~/bin:$PATH 3.下载r

Asp.Net Web Api 2 实现多文件打包并下载文件示例源码_转

一篇关于Asp.Net Web Api下载文件的文章,之前我也写过类似的文章,请见:<ASP.NET(C#) Web Api通过文件流下载文件到本地实例>本文以这篇文章的基础,提供了ByteArrayContent的下载以及在下载多个文件时实现在服务器对多文件进行压缩打包后下载的功能.关于本文中实现的在服务器端用.NET压缩打包文件功能的过程中,使用到了一个第方类库:DotNetZip,具体的使用将在正文中涉及.好了,描述了这么多前言,下面我们进入本文示例的正文. 一.创建项目 1.1 首先创

Linux下载安装一个源码包

下载一个安装包除了yum和rpm之外我们还可以下载源码包 编译并安装 首先下载所有的源码包一定要去官网,为了就是防止源码包被第三方编译 例如我们今天安装一个httpd的源码包,也就是经常说的apache 首先进入官网 apache.org 进入download,并选择一个下载源 找到httpd 点击下载任意一个(右击复制链接地址即可) 如果使用wget下载的时候发现如下情况,代表没有安装wget服务,安装一下即可! 再次下载 下载完成 然后为了统一管理和使用,建议大家养成一个好的习惯把下载的源码

Git下载Spring项目源码并编译为Eclipse

1)当前系统中安装了gradle,如果为安装,可以从:http://www.gradle.org/downloads,,下载完后进行解压到任意盘符,然后增加环境变量GRADLE_HOME,并在环境变量bin中增加%GRADLE_HOME%/bin,打开DOS窗口,运行gradle -v,出现版本号等信息,表示安装成功: 2)spring4 用jdk8,所以需要当前系统安装OpenJDK 8 early access build 100 or later,点击链接可以下载.安装后还需要确认JAVA