发送复杂的HTTP GET请求并且取回响应。

设计思想:

创建一个HttpWebRequest类的实例,并通过GetReponse()方法取回响应的HTTP响应。

实例方案:

string url="http://www.baidu.com";
HttpWebRequest req=(HttpWebRequest)WebRequest.Create(url);
req.Method="GET";
req.MaximumAutomaticRedirections=3;
req.Timeout=5000;

Console.writeLine("Sending HTTP request");
HttpWebResponse res=(HttpWebResponse)req.GetResponse();
Stream resst=res.GetResponseStream();
SreamReader sr=new StreamReader(resst);

Console.WriteLine("HTTP Response is:");
Console.WriteLine(sr.ReadToEnd());
sr.Close();
resst.Close();

  这种技术展示了如何限制请求重定向(request redirections)的次数,并且设置一个超时限制。下面是HttpWebRequest的一些属性,这些属性对于轻量级的自动化测试程序是非常重要的。

  • AllowAutoRedirect:获取或设置一个值,该值指示请求是否应跟随重定向响应。
  • CookieContainer:获取或设置与此请求关联的cookie。
  • Credentials:获取或设置请求的身份验证信息。
  • KeepAlive:获取或设置一个值,该值指示是否与Internet资源建立持久性链接。
  • MaximumAutomaticRedirections:获取或设置请求将跟随的重定向的最大数目。
  • Proxy:获取或设置请求的代理信息。
  • SendChunked:获取或设置一个值,该值指示是否将数据分段发送到Internet资源。
  • Timeout:获取或设置请求的超时值。
  • UserAgent:获取或设置User-agent HTTP 标头的值。
时间: 2024-11-10 07:33:33

发送复杂的HTTP GET请求并且取回响应。的相关文章

Asp.Net利用HttpWebRequest发送复杂的HTTP GET请求并且取回响应

最近在学习微信公众平台的开发用到 使用接口创建自定义菜单后,开发者还可使用接口查询自定义菜单的结构. 请求说明 http请求方式:GET https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN 得到响应后的菜单(如下代码) 1 string uri = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token="+AccessToken.IsExis

发送带有认证信息的HTTP请求并取回响应

问题 如何发送 一个带有网络认证证书的HTTP请求并返回相应的HTTP响应. 设计 创建一个WebRequest对象和一个NetWorkCredential对象.把NetWorkCredential对象作为WebRequest对象的Credentials的属性赋给它并且通过WebRequest.GetResponse()方法返回HTTP响应. 方案 public static void Credential() { string url = "http://server/path/webform

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

string uri="http//www.baidu.com"; 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.Write

httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求

1.httpclient就是个能发送http连接的工具包,包括能发送post请求和get请求. http 连接一次就有返回流.http是个双向的嘛.只有连接了,就会有输出返回流. 所以在执行http连接的时候,返回值都是http连接的返回流. HttpResponse response = client.execute(httpPost); 2.http发送,body里是可以写入中文的.但要注意乱码问题: public static String getHttpRequestString(Str

Ajax中自定义发送请求和处理响应对象

Ajax中自定义发送请求和处理响应对象 JavaScript内置一个称为XMLHttpRequest的对象,用于发起Ajax请求并处理Ajax响应.这个对象非常复杂,包含许多支持Ajax的特性和方法. readyState:请求的状态代码[0(未开始).1(开启).2(已传送).3(接收中).4(已载入)] status:HTTP的请求状态代码[404(找不到文件).200(OK)] onreadystatechange:请求状态改变时会被调用的函数引用,这个函数事件处理器就是处理响应的地方.

Postman发送带cookie的http请求

Postman是chrome上一个非常好用的http客户端插件,可惜由于chrome安全的限制,发不出带cookie的请求.如果想要发送带cookie的请求,需要开启Interceptor: 这个Interceptor还需要到chrome应用商店下载 Postman Interceptor 扩展程序.现在能发送带cookie的http请求.发送cookie时,在header中添加key-value,key固定为Cookie,value是cookie具体的k=v,例如: 需要注意的是,发送带coo

使用Restlet Client发送各种Get和Post请求

在开发web应用时,在对Spring中的Controller进行测试时,需要发送各种get以及post请求进行测试,当然可以自己在浏览器里输入url或者对于测试而言使用Spring提供的MockMvc编写代码进行测试,但是当我们想要测试诸如带Form表格提交(提交文件)的post等请求时,直接在浏览器里输入url或者使用MockMvc(这个我还不知道怎么弄-)就不大好实现了,Restlet Client为我们提供了便利. 其地址为:https://restlet.com/modules/clie

socket 错误之:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。

出错的代码 #server端 import socket import struct sk=socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn,addr=sk.accept() str_len1=struct.unpack('i',conn.recv(4))[0] print(sk.recv(str_len1)) str_len2=struct.unpack('i',conn.recv(4))[0] print(sk.recv

重温Http协议--请求报文和响应报文

http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过http协议做一个类似于解码的工作,这样浏览器才能理解这个数据,然后为我们展示出来百度首页. 这相当于是一种规范,网络中数据的传输在位于应用之下的各层(传输层,应用层)来完成的,在tcp/ip协议接收到数据时,我们是不能直接使用和浏览的,需要先通过一种规范来进行梳理,也就是解码,得到浏览器支持的一种格