HttpWebRequest类之基本定义
HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择。它们支持一系列有用的属性。这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程序来说是可访问的。请注意,HttpWebRequest对象不是利用new关键字通过构 造函数来创建的,而是利用工厂机制(factory mechanism)通过Create()方法来创建的。另外,你可能预计需要显式地调用一个“Send”方法,实际上不需要。接下来调用 HttpWebRequest.GetResponse()方法返回的是一个HttpWebResponse对象。你可以把HTTP响应的数据流 (stream)绑定到一个StreamReader对象,然后就可以通过ReadToEnd()方法把整个HTTP响应作为一个字符串取回。也可以通过 StreamReader.ReadLine()方法逐行取回HTTP响应的内容。
这种技术展示了如何限制请求重定向(request redirections)的次数, 并且设置了一个超时限制。下面是HttpWebRequest的一些属性,这些属性对于轻量级的自动化测试程序是非常重要的。
Get()方式,这张方式比较简单
/// <summary>
/// http之get提交
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btn_Two_Click(object sender, EventArgs e)
{
//不能直接new一个对象,需要同过创建
HttpWebRequest hwRequest = (HttpWebRequest)WebRequest.Create("http://wwww.baidu.com");
HttpWebResponse hwResponse =(HttpWebResponse)hwRequest.GetResponse();
Stream str = hwResponse.GetResponseStream();//获取响应体,也就是请求url的类容
StreamReader sr = new StreamReader(str,System.Text.Encoding.UTF8);
Response.Write(sr.ReadToEnd());//输出在页面上 }
那么www.baidu,.com这个页面的内容就全部被你获取到了

Post()提交
protected void Button1_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append("name=xxx");
sb.Append("&");
sb.Append("pwd=123"); //把我们需要传递的参数拼接好
byte[] by = System.Text.Encoding.UTF8.GetBytes(sb.ToString());//转化成流的形式,需要编码
HttpWebRequest hwRequest = (HttpWebRequest)WebRequest.Create("http://wwww.baidu.com");
hwRequest.Method = "POST"; //post提交
hwRequest.ContentType = "application/x-www-form-urlencoded ";
//<form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
hwRequest.ContentLength = by.Length;
using (Stream str = hwRequest.GetRequestStream())
{
str.Write(by, , by.Length); //把我们的参数已流的形式写入
}
HttpWebResponse hwResponse=(HttpWebResponse)hwRequest.GetResponse();
//获取数据
using (StreamReader sr = new StreamReader(hwResponse.GetResponseStream(),System.Text.Encoding.UTF8))
{
Response.Write(sr.ReadToEnd());
}
}
Get()提交相比而言比较简单,Post()比较难一点,具体可以用post提交我们可以干嘛下次再说
HttpWebRequest类之基本定义的更多相关文章
- C# 之 HttpWebRequest类
提供 WebRequest 类的 HTTP 特定的实现. 继承层次结构 System.Object → System.MarshalByRefObject → System.Net.We ...
- VB.NET中网络编程的另一种方案----system.net中的HttpWebRequest类的使用
VB.NET中网络编程的另一种方案---- system.net中的HttpWebRequest类的使用 在VB.net中进行网络编程,除了我之前写的随笔中的使用WinHttp组件进行编程,还有另一种 ...
- C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
C#,WebRequest类和HttpWebRequest类的区别? httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRe ...
- Asp.Net中的HttpWebRequest类与HttpWebResponse类
相关博文:https://www.cnblogs.com/xu-yi/p/10061342.html 相关博文:https://www.cnblogs.com/zoujinhua/p/11313396 ...
- zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法
转载自:http://blog.csdn.net/wide288/article/details/21622183 zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法: ze ...
- HttpWebRequest类
HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...
- C# HttpWebRequest类
HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...
- PHP class_exists 检查类是否已定义
(PHP 4, PHP 5) class_exists — 检查类是否已定义 bool class_exists ( string $class_name [, bool $autoload ] ) ...
- C#类和成员定义
1 定义类 C#用关键字class来定义类.默认情况下,类声明为内部(internal)的,即只有当前项目中的代码才能访问它.与之相对应的,还可以用public关键字来修饰,这样该类还可以由其 ...
随机推荐
- c++ 封装线程库 2
1.2线程回收: 首先得知道线程的两个状态: Joinable Detached 简单理解,如果一个线程是joinable的状态,那么这样的线程,就必须使用pthread_join来回收,否则程序结束 ...
- Maven 错误 Failure to transfer ...was cached in the local repository...
Maven 错误 Failure to transfer ...was cached in the local repository... 我解决的时候多了两步才解决 1. mvn clean ins ...
- 对象池1(方法功能)PoolOption
2.对象池PoolOption(方法功能) //单类型缓冲对象管理(单模池操作管理)功能: 激活.收回.预加载等. namespace kernal { [System.Serializable] p ...
- [转]win系统下nodejs安装及环境配置
本文转自:http://www.cnblogs.com/linjiqin/p/3765390.html 第一步:下载安装文件 下载nodejs,官网:http://nodejs.org/downloa ...
- 细讲递归(recursion)
首先先对递归进行入门. 递归是以自相似的方式重复项目的过程.在编程语言中,如果程序允许您在同一函数内调用函数,则称其为函数的递归调用. 简而言之,递归就是函数的自身调用.可以看看下面的递归使用: vo ...
- 牛客网Java刷题知识点之什么是单例模式?解决了什么问题?饿汉式单例(开发时常用)、懒汉式单例(面试时常用)、单例设计模式的内存图解
不多说,直接上干货! 什么是单例设计模式? 解决的问题:可以保证一个类在内存中的对象唯一性,必须对于多个程序使用同一个配置信息对象时,就需要保证该对象的唯一性. 如何保证? 1.不允许其他程序用new ...
- hduoj 2955Robberies
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 存储过程 返回值 procedure return values
存储过程有三种返回: 1. 用return返回int型数据 2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3. 直接在存储过程中用select返回结果集,可以是任意的 ...
- oracle笔记1:-安装-体系结构-基本查询
一.Oracle数据库的安装(安装在虚拟机的xp系统里) 1.安装虚拟机 2.虚拟机内安装xp系统,以下步骤在虚拟机内进行 3.双击setup.exe,在出现的界面中设置口令, ...
- js屏蔽鼠标操作
document.body.onselectstart=document.body.oncontextmenu=function(){ return false;}