用asp.net c# HttpWebRequest获取网页源代码

   该方法需要传递目标网页的编码方式,比如System.Text.Encoding.Default或者System.Text.Encoding.UTF8

  如果哪位高手知道如何自动判断目标页面的编码格式,请在评论中告知。谢谢!

  ///

  /// 获取源代码

  ///

  ///

  ///

  ///

  public static string GetPage(string url, Encoding encoding)

  {

  HttpWebRequest request = null;

  HttpWebResponse response = null;

  StreamReader reader = null;

  try

  {

  request = (HttpWebRequest)WebRequest.Create(url);

  request.UserAgent = "www.svnhost.cn";

  request.Timeout = 20000;

  request.AllowAutoRedirect = false;

  response = (HttpWebResponse)request.GetResponse();

  if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)

  {

  reader = new StreamReader(response.GetResponseStream(), encoding);

  string html = reader.ReadToEnd();

  return html;

  }

  }

  catch

  {

  }

  finally

  {

  if (response != null)

  {

  response.Close();

  response = null;

  }

  if (reader != null)

  reader.Close();

  if (request != null)

  request = null;

  }

  return string.Empty;

时间: 2024-09-18 16:42:28

用asp.net c# HttpWebRequest获取网页源代码的相关文章

android真机调试,获取网页源代码,返回302.请大神指点迷津,万分感谢!

问题描述 android真机调试,获取网页源代码,返回302.请大神指点迷津,万分感谢! 获取网页源代码,返回code是302 用真机调试 ,请大神指点迷津,万分感谢! URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(5000); conn.set

用Python的requests.get获取网页源代码出现ConnectionError

问题描述 用Python的requests.get获取网页源代码出现ConnectionError 如下为具体报错: requests.exceptions.ConnectionError: HTTPConnectionPool(host='seth_shy', port=80): Max retries exceeded with url: http://www.jikexueyuan.com/ (Caused by ProxyError('Cannot connect to proxy.',

ASP.NET利用webclient获取页面源代码的解决方

asp.net|client|web|解决|页面|源代码 页面中包括DataGrid时,利用webclient获取页面源代码的解决方    主要问题,利用webclent获取页面源代码时,当页面中含有datagrid,并且该控件使用了自带的分页功能时,正常的方法只能获取第一页面的数据,其它页面的数据取不到,以下是解决方法. 方法一: 主要思路是利用webclient,post数据到服务来取得数据,这里主要用了一个小工具可以分析页面的组成及运行过程,分析中发现当点击下一页时,会Post三个参数过去

JS远程获取网页源代码实例_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <title>远程网页源代码读取</title> <sty

Java 网络爬虫获取网页源代码原理及实现

1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件. 2.那么程序获取网页的原理到底是怎么回事呢?看下面的图:客服端首先向服务器端发出Http请求,之后服务器端返回相应的结果或者请求超时客户端自己报错. 服务器端发出的Http请求,实际上说是对服务器的文件的请求.下面的表格是一些常见的HTTP请求对应的文

C#中使用Socket获取网页源代码的代码_C#教程

WebToolkit类: 复制代码 代码如下: using System; using System.Net.Sockets; using System.Text; namespace ConsoleApplication1 { class WebToolkit { /// <summary> /// Url结构 /// </summary> struct UrlInfo { public string Host; public int Port; public string Fi

爬虫-我有网页源代码,但我不知道网页的地址。源代码里面的js代码有个变量值是网页的地址,怎么能获取出来?

问题描述 我有网页源代码,但我不知道网页的地址.源代码里面的js代码有个变量值是网页的地址,怎么能获取出来? 解决方案 前后截取就好了或者用正则来获取 var s = 'sfeeaaxxx var msg_link = "xxafejfleajflajflafjalfjlxllx"'; var m = new RegExp('var msg_link = "([^"]+)"').exec(s); if (m) alert(m[1]); 解决方案二: 直接正

用XMLHTTP读取网页源代码

xml|网页|源代码     在VBScript中,我们用XMLHTTP组件来获取网页源代码,并可以赋给某变量从而动态保存为HTML文件.有关XMLHTTP对象的介绍请参考以下文章:http://www.webjx.com/htmldata/2005-10-17/1129556661.html:有关XMLHTTP的使用实例请参考以下文章:http://www.webjx.com/htmldata/2005-02-25/1109332374.html.    我按照第二篇文章的介绍写了一段代码: 

请问C#如何判断网页能否正常访问,以及如何获取网页上的错误信息。

问题描述 请问C#如何判断网页能否正常访问,以及如何获取网页上的错误信息.例如:网页能访问,其中部分模块报错,如读数据库报错.这些信息如何获取?另外,我通过ie可以访问一个网站的首页,速度较慢,但是我通过c#的ping命令获取到的信息是超时(这个应该是防火墙的原因吧),用HttpWebRequest获取网页信息也是无法访问,这应该如何解决? 解决方案 解决方案二:错误消息自己捕获记录,用log4net好点http访问和ping没有关系解决方案三:我是远程判断别人的网页是否有错