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

时间:2021-10-22 07:36:00

设计思想:

创建一个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 标头的值。