新建一个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 }
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 }
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的结果一样。