向一个网页发起post请求,获取其返回数据流

新建一个Web窗体,访问msdn上的一个页面,并输出获取到的数据流。

1          protected  void Page_Load( object sender, EventArgs e)
2         {
3              string strResult = GetWebRequest( " http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.aspx """);
4             Response.Write(strResult);
5             Response.End();
6         }
 1          ///   <summary>
 2           ///  获取访问页面的数据流
 3           ///   </summary>
 4           ///   <param name="strUrl"> 页面url </param>
 5           ///   <param name="strPrams"> 问号后的参数串 </param>
 6           ///   <param name="method"></param>
 7           ///   <returns></returns>
 8           public  string GetWebRequest( string strUrl,  string strPrams)
 9         {
10             HttpWebRequest webRequest =  null;
11 
12             StreamWriter requestWriter =  null;
13 
14              string responseData =  "";
15 
16             webRequest = System.Net.WebRequest.Create(strUrl)  as HttpWebRequest;
17 
18              // 设置HttpWebRequest的属性
19               if (webRequest !=  null)
20             {
21                 webRequest.Method =  " POST ";
22                 webRequest.ServicePoint.Expect100Continue =  false;
23 
24                 webRequest.ContentType =  " application/x-www-form-urlencoded ";
25                 requestWriter =  new StreamWriter(webRequest.GetRequestStream());
26                  try
27                 {
28                     requestWriter.Write(strPrams);
29                 }
30                  catch
31                 {
32                      throw;
33                 }
34                  finally
35                 {
36                     requestWriter.Close();
37                     requestWriter =  null;
38                 }
39 
40                 responseData = WebResponseGet(webRequest);
41 
42                 webRequest =  null;
43             }
44 
45              return responseData;
46         }
47 
48          ///   <summary>
49           ///  读取数据流
50           ///   </summary>
51           ///   <param name="webRequest"></param>
52           ///   <returns></returns>
53           private  string WebResponseGet(HttpWebRequest webRequest)
54         {
55             StreamReader responseReader =  null;
56 
57              string responseData =  "";
58 
59              try
60             {
61                 responseReader =  new StreamReader(webRequest.GetResponse().GetResponseStream());
62                 responseData = responseReader.ReadToEnd();
63             }
64              catch
65             {
66                  throw;
67             }
68              finally
69             {
70                 webRequest.GetResponse().GetResponseStream().Close();
71                 responseReader.Close();
72                 responseReader =  null;
73             }
74 
75              return responseData;
76         }

 

这样,Web窗体运行出来的结果,与直接在浏览器里访问http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.aspx的结果一样。

转载于:https://www.cnblogs.com/mingshu/archive/2012/08/31/2665502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值