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类之基本定义的更多相关文章

  1. C# 之 HttpWebRequest类

    提供 WebRequest 类的 HTTP 特定的实现.       继承层次结构 System.Object → System.MarshalByRefObject →  System.Net.We ...

  2. VB.NET中网络编程的另一种方案----system.net中的HttpWebRequest类的使用

    VB.NET中网络编程的另一种方案---- system.net中的HttpWebRequest类的使用 在VB.net中进行网络编程,除了我之前写的随笔中的使用WinHttp组件进行编程,还有另一种 ...

  3. C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别

    C#,WebRequest类和HttpWebRequest类的区别? httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRe ...

  4. Asp.Net中的HttpWebRequest类与HttpWebResponse类

    相关博文:https://www.cnblogs.com/xu-yi/p/10061342.html 相关博文:https://www.cnblogs.com/zoujinhua/p/11313396 ...

  5. zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法

    转载自:http://blog.csdn.net/wide288/article/details/21622183 zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法: ze ...

  6. HttpWebRequest类

    HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...

  7. C# HttpWebRequest类

    HttpWebRequest类与HttpRequest类的区别. HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所有信息.而HttpWebReque ...

  8. PHP class_exists 检查类是否已定义

    (PHP 4, PHP 5)  class_exists — 检查类是否已定义 bool class_exists ( string $class_name [, bool $autoload ] ) ...

  9. C#类和成员定义

    1 定义类     C#用关键字class来定义类.默认情况下,类声明为内部(internal)的,即只有当前项目中的代码才能访问它.与之相对应的,还可以用public关键字来修饰,这样该类还可以由其 ...

随机推荐

  1. 提高Service提高进程优先级别,不被系统容易杀死

    1.首先要了解lowmemroykiller机制  在Android的lowmemroykiller机制中,会对于所有进程进行分类,对于每一类别的进程会有其oom_adj值的取值范围,oom_adj值 ...

  2. inventor安装失败怎样卸载安装inventor 2019?

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  3. 闲里偷忙的CPU-某个kwoker进程忙

    https://zhuanlan.zhihu.com/p/34311472 有一类比较特殊的CPU使用率问题,这类问题的特点是,系统平均CPU使用率很低,但是个别CPU的使用率非常高.今天借助这个真实 ...

  4. python3+Appium自动化10-日志收集

    日志概述 日志作用 日志是定位问题的重要手段 日志级别 级别 何时使用 DEBUG 调试信息,也是最详细的日志信息 INFO 证明事情按预期工作 WARNING 表明发生了一些意外,或者不就的将来(如 ...

  5. Murano Application

    OpenStack Application Link: http://apps.openstack.org/ Those applications include Murano packages, H ...

  6. 深入学习webpack(四)

    更多内容可以看此文档.

  7. Fedora14 mount出现错误时解决办法【亲测有效】

    挂载时出现了如上图所示问题,看第一条英语提示,我刚开始以为是文件权限不够,改了权限之后,依旧存在这样的问题, 于是,我上网查阅了一些资料: 在解决之前,先让我们一起来了解一下nfs: NFS最大功能就 ...

  8. RSA算法、SSL协议学习笔记

    最近学习计算机网络,涉及到SSL协议,我想起了去年密码学课程讲过的非对称加密RSA算法,结合阮老师的博客,写写学习笔记,这里再回忆一下. RSA算法 RSA算法是一种非对称密码算法,所谓非对称,就是指 ...

  9. Ajax原理实现

    jQuery的ajax实现原理: // 1.创建一个XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 2.打开请求 xhr.open('METHO ...

  10. python 钩子函数

    python 在windows下监听键盘按键 使用到的库 ctypes(通过ctypes来调用Win32API, 主要就是调用钩子函数) 使用的Win32API SetWindowsHookEx(), ...