1         #region Post到url
 2         ///<summary>
 3         /// Post data到url
 4         ///</summary>
 5         ///<param name="data">要post的数据</param>
 6         ///<param name="url">目标url</param>
 7         ///<returns>服务器响应</returns>
 8          public static string PostDataToUrl(string data, string url)
 9         {
10             // Encoding encoding = Encoding.GetEncoding(sRequestEncoding);
11             Encoding encoding = Encoding.Default;
12             byte[] bytesToPost = encoding.GetBytes(data);
13             return PostDataToUrl(bytesToPost, url);
14         }
15 
16         ///<summary>
17         /// Post data到url
18         ///</summary>
19         ///<param name="data">要post的数据</param>
20         ///<param name="url">目标url</param>
21         ///<returns>服务器响应</returns>
22         public static string PostDataToUrl(byte[] data, string url)
23         {
24             #region 创建httpWebRequest对象
25             WebRequest webRequest = WebRequest.Create(url);
26             HttpWebRequest httpRequest = webRequest as HttpWebRequest;
27             if (httpRequest == null)
28             {
29                 throw new ApplicationException(string.Format("Invalid url string: {0}", url));
30             }
31             #endregion
32 
33             #region 填充httpWebRequest的基本信息
34             httpRequest.UserAgent = sUserAgent;
35             httpRequest.ContentType = sContentType;
36             //httpRequest.Headers.Add(HttpRequestHeader.ContentEncoding, "utf-8");
37             httpRequest.Method = "POST";
38             #endregion
39 
40             #region 填充要post的内容
41             httpRequest.ContentLength = data.Length;
42             Stream requestStream = httpRequest.GetRequestStream();
43             requestStream.Write(data, 0, data.Length);
44             requestStream.Close();
45             #endregion
46 
47             #region 发送post请求到服务器并读取服务器返回信息
48             Stream responseStream;
49             try
50             {
51                 responseStream = httpRequest.GetResponse().GetResponseStream();
52             }
53             catch (Exception e)
54             {
55                 // log error
56                 Console.WriteLine(
57                     string.Format("POST操作发生异常:{0}", e.Message));
58                 throw e;
59             }
60             #endregion
61 
62             #region 读取服务器返回信息
63             string stringResponse = string.Empty;
64             //StreamReader responseReader = new StreamReader(responseStream, Encoding.GetEncoding(sResponseEncoding))
65             using (StreamReader responseReader = new StreamReader(responseStream, Encoding.Default))
66             {
67                 stringResponse = responseReader.ReadToEnd();
68             }
69             responseStream.Close();
70             #endregion
71             return stringResponse;
72         }
73         const string sUserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
74         const string sContentType = "application/x-www-form-urlencoded";  
75         const string sRequestEncoding = "ascii";
76         const string sResponseEncoding = "gb2312";
77         #endregion