.NET下获取网页的内容的封装类

简介:
  我写的一个在.NET下获取网页内容的类:

using  System;
using  System.Net;
using  System.IO;
using  System.Text;
using  System.Windows.Forms;

namespace  iUNS
{
    
///   <summary>
    
///  iuGetWebContent 的摘要说明。
    
///   </summary>
     public   class  iuGetWebContent
    {
        
public  iuGetWebContent()
        {
            
//
            
//  TODO: 在此处添加构造函数逻辑
            
//
        }

        
///   <summary>
        
///  从指定的url取得网页内容
        
///   </summary>
        
///   <param name="url"> 网页地址 </param>
        
///   <returns> 返回取得的内容 </returns>
         public   static   string  getContentFromUrl( string  url, string  encoding)
        {
            
try
            {
                
string  text = "" ;
                
//  Create a 'WebRequest' object with the specified url. 
                WebRequest myWebRequest  =  WebRequest.Create(url); 
                myWebRequest.Timeout
= 10000 ;

                
//  Send the 'WebRequest' and wait for response.
                WebResponse myWebResponse  =  myWebRequest.GetResponse(); 

                
//  Obtain a 'Stream' object associated with the response object.
                Stream ReceiveStream  =  myWebResponse.GetResponseStream();
                
                Encoding encode 
=  System.Text.Encoding.GetEncoding(encoding);

                
//  Pipe the stream to a higher level stream reader with the required encoding format. 
                StreamReader readStream  =   new  StreamReader( ReceiveStream, encode );
                
// Console.WriteLine("\nResponse stream received");
                Char[] read  =   new  Char[ 512 ];

                
//  Read 512 charcters at a time.    
                 int  count  =  readStream.Read( read,  0 512  );
                
// Console.WriteLine("HTMLdot.gif\r\n");

                
while  (count  >   0
                {
                    
//  Dump the 512 characters on a string and display the string onto the console.
                    String str  =   new  String(read,  0 , count);
                    text
+= str;
                    count 
=  readStream.Read(read,  0 512 );
                }

                
//  Release the resources of stream object.
                readStream.Close();

                
//  Release the resources of response object.
                myWebResponse.Close();

                
return  text;
            }
            
catch
            {
                
return   " MYERROR " ;
            }
        }
    }
}


    本文转自 OldHawk  博客园博客,原文链接http://www.cnblogs.com/taobataoma/archive/2007/04/30/733255.html :,如需转载请自行联系原作者


相关文章
|
12月前
|
IDE API 开发工具
拦截|篡改|伪造.NET类库中不限于public的类和方法
本文除了回顾拦截.NET类库中的方法,实现方法参数的篡改、方法返回结果的伪造,再着重介绍.NET类库中非public类及方法如何拦截。
拦截|篡改|伪造.NET类库中不限于public的类和方法
|
3月前
|
Unix Java C#
记一次对Pdfium .Net包装器的跨平台封装
PDFium 是一个开源的 PDF 渲染引擎,最初由 Google 和 Foxit Software 合作开发,并且使用 BSD 3-Clause 许可协议发布。它被设计用于在各种平台上渲染 PDF 文件,包括 Windows、macOS 和 Linux。
227 3
|
30天前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
2月前
|
开发框架 前端开发 JavaScript
基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
基于SqlSugar的数据库访问处理的封装,支持.net FrameWork和.net core的项目调用
|
2月前
|
开发框架 缓存 NoSQL
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
|
1月前
|
机器学习/深度学习 前端开发 API
Gradio.NET:一个快速制作演示demo网页的利器
Gradio.NET:一个快速制作演示demo网页的利器
55 0
|
3月前
|
存储 Go C#
【.NET Core】深入理解IO之File类
【.NET Core】深入理解IO之File类
53 6
|
3月前
|
数据采集 安全 C#
.NET快速实现网页数据抓取
今天我们来讲讲如何使用.NET开源(MIT License)的轻量、灵活、高性能、跨平台的分布式网络爬虫框架DotnetSpider来快速实现网页数据抓取功能。
|
3月前
|
存储 开发框架 缓存
【.NET Core】你真的了解HttpRuntime类吗
【.NET Core】你真的了解HttpRuntime类吗
29 0
|
4月前
|
消息中间件
.NET 中 Channel 类简单使用
`System.Threading.Channels` 提供异步生产者-消费者数据结构,用于.NET Standard上的跨平台同步。频道实现生产者/消费者模型,允许在任务间异步传递数据。简单示例展示如何创建无界和有界频道,以及多生产者和消费者共享频道的场景。频道常用于内存中的消息队列,通过控制生产者和消费者的速率来调整系统流量。