问题

如何发送一个简单的HTTP GET请求并且取回相应的HTTP响应。

设计

创建一个WebClient类的实例,然后使用它的DownloadData()方法。

方案

string uri = "http://server/path/WebForm.aspx";

WebClient wc = new WebClient();

Console.WriteLine("Sending an HTTP GET request to " + uri);

byte[] bResponse = wc.DownloadData(uri);

string strResponse = Encoding.ASCII.GetString(bResponse);

Console.WriteLine("HTTP response is: ");

Console.WriteLine(strResponse);

注解

WebClient类是System.Net命 名空间的一部分,默认情况下对于控制台程序是可访问的。通过WebClient.DownloadData()方法来取回一个HTTP响应是极为简单的, 但是DownLoadData()返回的只是一个字节数组(byte array),必须要通过System.Text.Encoding.ASCII.GetString()方法把它转换成一个字符串。另一种方案是使用 WebClient.OpenRead()方法并且把它与一个stream相关联:

string uri = " http://server/path/WebForm.aspx";

WebClient wc = new WebClient();

Console.WriteLine("Sending an HTTP GET request to " + uri);

Stream st = wc.OpenRead(uri);

StreamReader sr = new StreamReader(st);

string res = sr.ReadToEnd();

sr.Close();

st.Close();

Console.WriteLine("HTTP Response is ");

Console.WriteLine(res);

相比于测试ASP.NET Web应用程序,WebClient类更适合用来测试静态的HTML网页。这段代码可以用来检测ASP.NET程序发回的响应,但是要把这段代码扩展成自 动化测试程序,你需要根据期望值来检查HTTP响应。5.8节用到了本节的技术,在5.8节我们通过编程的方式来决定ASP.NET Web应用程序的ViewState值。5.11节所涉及的技术展示了如何根据给定的期望值来检查一个HTTP响应。

发送一个简单的http get 请求并且响应的更多相关文章

  1. 发送一个简单的HTTP GET请求并且取回响应。

    string uri="http//www.baidu.com"; WebClient wc = new WebClient(); Console.WriteLine(" ...

  2. requests(一): 发送一个json格式的post请求

    今天给一位同学解决post发送数据格式为json格式的请求,顺便确认一下问题归属. 背景: 用postman工具发送一个数据格式为json的请求,得到了服务器的响应. 用python的requests ...

  3. 写一个ActionFilter检测WebApi接口请求和响应

    我们一般用日志记录每次Action的请求和响应,方便接口出错后排查,不过如果每个Action方法内都写操作日志太麻烦,而且客户端传递了错误JSON或XML,没法对应强类型参数,请求没法进入方法内, 把 ...

  4. 用JAVA发送一个XML格式的HTTP请求

    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStr ...

  5. postman:模拟发送一个需要cookie认证的请求

    1.chrome 已安装插件intercept. 由于chrome安全的限制,发不出带cookie的请求.如果想要发送带cookie的请求,需要开启Interceptor. 2.chrome 浏览器要 ...

  6. nodejs 如何发送一个带JSON的GET请求?

    GET /megacorp/employee/_search { "aggs" : { "all_interests" : { "terms" ...

  7. 一个简单的Post Get请求

    WWW请求 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; u ...

  8. Python网络编程 - 一个简单的客户端Get请求程序

    import socket target_host = "www.baidu.com" target_port = 80 # create a socket object clie ...

  9. HeadFirst Jsp 04 (请求和响应作为servlet)

    servlet 的存在就是为了客服服务, servlet的任务是得到一个客户的请求, 再发回一个响应. 由上图可知, web 容器会在启动后就加载所有的servlet类, 并为之创建实例和初始化 注意 ...

随机推荐

  1. OpenCV(5)-图像掩码操作(卷积)-锐化

    锐化概念 图像平滑过程是去除噪声的过程.图像的主要能量在低频部分,而噪声主要集中在高频部分.图像的边缘信息主要也在高频部分,在平滑处理后,将会丢不部分边缘信息.因此需要使用锐化技术来增强边缘. 平滑处 ...

  2. OpenJudge/Poj 1631 Bridging signals

    1.链接地址: http://poj.org/problem?id=1631 http://bailian.openjudge.cn/practice/1631 2.题目: Bridging sign ...

  3. 【实习记】2014-09-01从复杂到简单:一行命令区间查重+长整型在awk中的bug

        9月1号,导出sql文件后,想到了awk,但很复杂.想到了用sed前期处理+python排序比较的区间查重法.编写加调试用了约3小时. 9月2号,编写C代码的sql语句过程中,发现排序可以交m ...

  4. 系统重装后phpnow修复

    最近在捣鼓wordpress,主题写了一半然后就重装了win8,在新系统里面访问127.0.0.1的时候出现无法访问的情况.主题写了一半,又不想重装wordpress导数据库这些繁琐的过程,于是,尝试 ...

  5. Oracle数据库小知识,改数据库数据

    在一张表上面右键-->查询数据,会生成sql语句,表后面带有t,表示模糊查询, 后面跟上for update之后,执行语句-->小锁(编辑数据)就可以修改数据里面的数据了,修改之后--&g ...

  6. Java中的TCP/UDP网络通信编程

    127.0.0.1是回路地址,用于测试,相当于localhost本机地址,没有网卡,不设DNS都可以访问. 端口地址在0~65535之间,其中0~1023之间的端口是用于一些知名的网络服务和应用,用户 ...

  7. python 函数1

    一.背景 在学习函数之前,一直遵循:面向过程编程,即:根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处,如下 ...

  8. Android使用adb工具及root权限完成手机抓包

    1.环境准备/注意: 手机要求已经root. 首先需要配置JDK环境变量,这里主要讲解抓包,JDK环境变量配置跳过. 将包内附带的adb.zip解压到C盘根目录.  整个操作过程都需要用手机用数据线连 ...

  9. 在ajax当中使用url重写来避免url的暴露

    记得一次面试,有这样一道面试题:jsp页面当中需要用到ajax的实现,此时需要调用java的url:此时的问题是如果用户查看页面源码就能看到真是的url,这个问题如何避免.说实话,AJAX我用的只是皮 ...

  10. caffe之(三)激活函数层

    在caffe中,网络的结构由prototxt文件中给出,由一些列的Layer(层)组成,常用的层如:数据加载层.卷积操作层.pooling层.非线性变换层.内积运算层.归一化层.损失计算层等:本篇主要 ...