使用HttpWebRequest以及HttpWebResponse读取Http远程文件
使用HttpWebRequest以及HttpWebResponse读取Http远程文件
| jackyhwei 发布于 2010-08-15 21:24 点击: 1054次 |
![]() 来自:博客园 |
|
在以前我们经常是使用XmlHttp来获取某个网页的内容,现在.Net时代已经来临,是否我们还要使用XMLHttp来获取呢?答案当然是不,因为微软已经帮我们写好了一些容易使用的类,而这些类就放在System.Net命名空间中。 这篇文章将会使用到两个类:System.Net.HttpWebRequest以及System.Net.HttpWebResponse,它们负责发送以及接收请求,我们现在就来试一下获取http://www.rosoo.net的首页代码,以下以代码作示例。 首先建立一个HttpWebRequest实例,我们不用使用HttpWebRequest类的构造函数,而是使用WebRequest类提供的静态方法Create,它的原型如下: public static WebRequest Create(string); 一般我们可以使用第一种方法,就是直接将网址传进去,如果协议为http或者https,它会返回一个HttpWebRequest实例: HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create( "http://www.rosoo.net"); 因为它返回的实例类型是WebRequest而不是HttpWebRequest,因此记得要进行强制类型转换. HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); 如果webResponse.StatusCode的值为HttpStatusCode.OK,表示成功,那你就可以接着读取接收到的内容了: System.IO.StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.GetEncoding("GB2312")); // 建立一个流读取器,可以设置流编码,不设置则默认为UTF-8 string content = streamReader.ReadToEnd();// 读取流字符串内容 streamReader.Close();// 关闭相关对象 大功告成,我们已经将无忧脚本首页内容保存在content这个字符串变量中了,很简单吧?当然,根据需要还有更多设计方法可以选择,比如使用Socket,那还提供了System.Net.Sockets命名空间中的类,学.Net的朋友有事没事逛逛MSDN,肯定会有更多的收获。 (mugua) |
使用HttpWebRequest以及HttpWebResponse读取Http远程文件的更多相关文章
- 在Linux系统中使用Vim读写远程文件
大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...
- C#使用HttpWebRequest和HttpWebResponse上传文件示例
C#使用HttpWebRequest和HttpWebResponse上传文件示例 1.HttpHelper类: 复制内容到剪贴板程序代码 using System;using System.Colle ...
- MeteoInfoLab脚本示例:读取远程文件
利用Unidata netCDF Java库对远程文件的读取能力(OpenDAP, ADDE, THREDDS等),可以读取远程文件并绘图.脚本程序: fn = 'http://monsoondata ...
- PHP读取远程文件的三种方法
file_get_contents <?php$url = http://www.xxx.com/;$contents = file_get_contents($url);//如果出现中文乱码使 ...
- http方式获取远程文件内容
public class HttpServer { /// <summary> /// 读取远程文件的内容 /// </summary> /// <param name= ...
- c# HttpWebRequest 与 HttpWebResponse
如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的Get和Post方式进行详细的说明,在请求时的参数怎么发送,怎么带Cookie,怎么设置证 ...
- .net 直接输出远程文件到浏览器和下载文件保存到本机
利用了xmlhttp,实现代码比较简单具体实现如下: 首先bin文件引入,com->microsoft xml v3.0 具体代码如下: protected void Button1_Click ...
- C#_抓包HttpWebRequest跟HttpWebResponse
1.第一招,根据URL地址获取网页信息 这招是入门第一式, 特点: 1.最简单最直观的一种,入门课程. 2.适应于明文,无需登录,无需任何验证就可以进入的页面. 3.获取的数据类型为HTML文档. ...
- c# HttpWebRequest与HttpWebResponse(转)
如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧.本文章会对Http请求时的Get和Post方式进行详细的说明,在请求时的参数怎么发送,怎么带Cookie,怎么设置证 ...
随机推荐
- windows和linux中检查端口是否被占用
一.windows 1.查询端口占用情况 cmd > netstat -ano 2.查询8080端口是否被占用 cmd > netstat -ano|findstr 8080 3.查询哪个 ...
- java 经典题
[程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问 ...
- Centos7升级gcc学习笔记
概述 最近在学习<深入应用C++11-代码与优化与工程级应用>,我的gcc版本是gcc-4.8.5是支持C++11的,但是我在作者的github上看了一些C++例子,其中有些是C++14的 ...
- 小白日记47:kali渗透测试之Web渗透-XSS(一)
XSS [推荐书籍:XSS跨站脚本攻击剖析与防御] xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/ ...
- .net重启iis线程池和iis站点程序代码分享
重启站点: /// <summary> /// 根据名字重启站点.(没重启线程池) /// </summary> /// <param name="sitena ...
- KDE声音服务器 arts
KDE声音服务器 arts arts介绍arts是KDE的核心声音系统,支持多音频流.全双工.网络声音请求.ALSA与OSS驱动后端.JACK声音服务器后端等扩展,它既是声音服务器,也 提供一套音频软 ...
- 剑指Offer22 判断数组是否为某二叉搜索树的后序遍历
/************************************************************************* > File Name: 22_Sequen ...
- 【转】使用nmon监控suse或linux操作系统
目的:使用nmon监控操作系统的内存,CPU等症状 nmon介绍:nmon 工具可以为AIX和Linux性能专家提供监视和分析性能数据的功能,其中包括CPU,内存,IO,free空间,页面空间页面速度 ...
- 《JavaScript高级程序设计》笔记——关于继承
继承在JavaScript中是一种“奇葩”的存在,因为其本身并没有类(class)的概念(ES5),所以只能用其他方式(原型链.构造函数.对象实例)来模拟继承的行为.既然是模拟,那就应该是想办法实现继 ...
- C#微信开发回复信息
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;usi ...
