webclient无法获取html文件,C# WebClient获取网页源码的方法

效果如图

584f77fc562e8.jpg

完整代码如下using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

//引入以下命名空间

using System.Net;

using System.IO;

using System.Threading;

namespace splitstr

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

Thread t = null;

Encoding EE = Encoding.UTF8;//网页编码,根据实际情况来哈

private void bt_gethtml_Click(object sender, EventArgs e)

{

if (tb_url.Text.Trim() != "")

{

t = new Thread(new ThreadStart(Ss));

t.Start();

}

}

private delegate void SetObject();

private void Ss()

{

//CheckForIllegalCrossThreadCalls = false;

this.Invoke(new SetObject(delegate { bt_gethtml.Enabled = tb_url.Enabled = false; }));

this.Invoke(new SetObject(delegate { richTextBox1.Text = GetHtml(tb_url.Text.Trim(), EE); }));

this.Invoke(new SetObject(delegate { bt_gethtml.Enabled = tb_url.Enabled = true; }));

t.Abort();

}

private string GetHtml(string url,Encoding ecd)

{

//参数说明:目标网址,网页编码

string htmldata = "获取网页内容失败";

try

{

WebClient wclient = new WebClient();//实例化WebClient类对象

wclient.BaseAddress = url;//设置WebClient的基URI

wclient.Encoding = ecd;//指定下载字符串的编码方式

//为WebClient类对象添加标头

wclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

//使用OpenRead方法获取指定网站的数据,并保存到Stream流中

Stream stream = wclient.OpenRead(url);

//使用流Stream声明一个流读取变量sreader

StreamReader sreader = new StreamReader(stream);

string str = string.Empty;//声明一个变量,用来保存一行从WebCliecnt下载的数据

//循环读取从指定网站获得的数据

while ((str = sreader.ReadLine()) != null)

{

htmldata += str + "\n";

}

}

catch { }

return htmldata;

}

}

}

当然获取网页源码还有其他的方法,过后再分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AFNetworking到底做了什么?

http://www.cocoachina.com/ios/20161209/18277.html转载于:https://www.cnblogs.com/zxykit/p/7018411.html

基于javafx的五子棋_基于JavaFX的SimpleDateFormat演示程序

基于javafx的五子棋对于使用Java Date进行格式化的新手,甚至对于使用Java Date进行格式化的新手,对于有经验的Java开发人员来说,可能都会有些棘手,其中之一就是使用SimpleDateFormat指定日期/时间格式。 SimpleDateFormat的基于类…

监督分类空白处也被分类了_监督学习(2)|本质是分类的“逻辑回归”

引言机器学习,绕不开预测问题,预测绕不开回归和分类。本篇介绍最常用的二分类算法:逻辑回归(Logistics Regression),当然随着算法的发展,它也可用于多分类问题。每一个算法都是许许多多数学家的努力铸就,理…

html网页制作图案,巧用CSS滤镜做图案文字-网页设计,HTML/CSS

请先看看以下演示中的图案文字。这可不是图片效果,而是用css滤镜中的chroma() 语句做成的文本文字,其中文本的内容和图案都可以自由设定。先介绍一下这个神奇的滤镜:chroma() 滤镜。语法: filter:chroma( color#cccccc) &#xff…

关于msbuild 编译.net 4.5新语法错误的解决方法

.net4.5以前msbuild 是在%windir%/Microsoft.NET/FrameworkXX/vXX目录下,如:C:\Windows\Microsoft.NET\Framework64\v4.0.30319,不过在使用4.5新语法后就无法编译通过,这时候就应该使用vs自带msbuild ,路径如下C:\Program Files (…

JavaOne 2015 –又一年,又向前迈进了一步

JavaOne 2015旧金山于10月25日至29日举行。 我很自豪地说这是我第九个人参加JavaOne,第七个人是演讲者,第四个人是Oracle员工,第三个人是内容委员会的成员,第二个人是项目负责人。 我认为对于JavaOne来说,这是又一个美…

html div父集子集,抛砖引玉css系列---根据父元素包含的子元素个数,实现不同的样式...

工作时遇到这样一个问题:根据某元素所包含的子元素个数,分别设置不同的样式,这个用js可以解决,不过个人认为用css解决可能更简单一点。这也正好加深了我对css选择器的理解和运用。demo如下:效果图如下完整代码如下:css…

rnn按时间展开_双向RNN的理解

我们在学习某种神经网络模型时,一定要把如下几点理解透了,才算真正理解了这种神经网络。网络的架构:包含那些层,每层的输入和输出,有那些模型参数是待优化的前向传播算法损失函数的定义后向传播算法什么情况下认为是发…

【转】Mac本地生成SSH Key 的方法

1. 查看秘钥是否存在 打开终端查看是否已经存在SSH密钥:cd ~/.ssh 如果没有密钥则不会有此文件夹,有则备份删除, 也可以直接删除, 2.生成新的秘钥, 命令如下 $ssh-keygen -t rsa -C "youremailexample.com" 你需要把邮件地址换成你自己的邮…

职称考试取消英语和计算机,强烈建议取消所谓的英语职称和计算机考试

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼强烈要求取消职称计算机英语考试职称计算机英语考试坑苦了广大相关受害者,其实质是某个别部门单位敛财的冠冕堂皇的项目。那些政策制定者美其名曰是通过考试激励大家的继续学习,掌握其技能,那么没…

树莓派退出python的代码_Python实现树莓派WiFi断线自动重连的实例代码

实现 WiFi 断线自动重连。原理是用 Python 监测网络是否断线,如果断线则重启网络服务。1.Python 代码 autowifi.py,放在 /home/pi 目录下:#!/usr/bin/pythonimportos, timewhileTrue:if192 not in os.popen(ifconfig | grep 192).read():print\n****** w…

类型信息

1、java主要有两种方式在运行时识别对象和类的信息:RTTI和“反射”机制。 2、类加载器系统实际上可以包含一条类加载器链,但是只有一个原生态加载器,它是JVM实现的一部分。原生态加载器加载的是所谓的可信类,包括Java API&#xf…

primefaces_懒惰的JSF Primefaces数据表分页–第1部分

primefaces今天,我们将使用带有视图范围的托管bean的惰性列表进行JSF数据表分页。 这些单词/表达是什么意思? 如今,有几个JSF框架可为数据表提供现成的分页,列排序器和其他功能。 今天,我们将使用Primefaces数据表。 …

linux下python开发环境搭建_linux下python开发环境之二——安装Eclipse+PyDev

Eclipse是由java开发的,所以要想让Eclipse跑起来就得安装jdk,在命令行里输入javac就能查看本机是否已经安装好了jdk了。1、安装jdk先从oracle官网上下载jdk,放到/usr/local/src/文件中,由于找不到linux的下载连接,所以…

台式计算机如何连接vif,关于计算机二级( VIF ) 县城有高手吗? 急寻

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼自考《管理系统中计算机应用》上机实践考试样卷2007年08月09日 13:29(本卷考试时间60分钟)注意事项:1、在考核盘的根目录下有XS.DBF、CJ.DBF、STD.DBF、LOAN.DBF、DISREC.SCX、TTT.PRG、KSH.PRG和KSHF.SCX文件&#xff…

Eclipse新建java类的时候,自动创建注释

为形成个人的java代码风格,我们在项目组中进行开发的时候,可以对自己的代码进行一些格式上面的设置,具体如下: 方法一:Eclipse中设置在创建新类时自动生成注释 windows–>preference Java–>Code Style–>Code Templates…

无论是否使用Spring Framework,为什么我们会失败?

在Twitter领域再次引起了一些反感 ,我看到了Sam Atkinson的博客帖子,题为“ 为什么我讨厌Spring” 。 这篇博客文章的撰写早于2014年,但是DZone后来才真正选择并发布了它。 实际上,在撰写本文时,Atkinson是一名开发人员…

endnote能自动翻译吗_自动挡和手自一体有啥区别?从外表能看出一辆车是哪种变速箱吗?...

汽车分自动挡和手动挡,手动挡就是一个手动变速箱,很好理解。但自动挡变速箱有很多种,前几日有人问了这么几个问题,没来得及回复,现在超时不能单独回复了,在此详细说一下,因为这是一个非常基础且…

html5平板电脑,Html5添加支持桌面、移动触摸手机和平板电脑的Lightbox插件教程

一、使用方法首先在标签之前或标签中引入jquery和swipebox js文件。在标签中引入swipebox.css文件。二、Html结构三、调用插件;( function( $ ) {$( .swipebox ).swipebox();} )( jQuery );四、高级配置(1)画廊(2)视频支持My Videos(3)动态调用画廊$( #gallery ).click( functi…

idea 内存溢出解决方法

在Run/Debug configuration 的 vm options里面输入 -server -XX:PermSize128M -XX:MaxPermSize256m 具体如下图: 转载于:https://www.cnblogs.com/Liang-Haishan216/p/7044028.html