//调用方法
Dictionary<string, string> postData = new Dictionary<string, string>();
postData.Add("user", "aaa");
postData.Add("pass", "bbb");
GetPageByPost("http://www.xxx.com/send.aspx", postData, Encoding.UTF8);
/// <summary>
/// 以 Post 方式提交网页数据,获得服务器返回的数据
/// </summary>
/// <param name="url"> Url </param>
/// <param name="postData">Post 数据</param>
/// <param name="encoder">网页编码</param>
/// <returns>服务器返回的数据</returns>
public string GetPageByPost(string url, Dictionary<string, string> postData, Encoding encoder)
{
string html = "";
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url);
webReq.Method = "POST";
Stream reqStream = null;
if (postData != null && postData.Count > 0) {
StringBuilder sb = new StringBuilder();
foreach (KeyValuePair<string, string> kv in postData) {
sb.Append(HttpUtility.UrlEncode(kv.Key));
sb.Append("=");
sb.Append(HttpUtility.UrlEncode(kv.Value));
sb.Append("&");
}
byte[] data = Encoding.UTF8.GetBytes(sb.ToString().TrimEnd('&'));
webReq.ContentType = "application/x-www-form-urlencoded";
webReq.ContentLength = data.Length;
reqStream = webReq.GetRequestStream();
reqStream.Write(data, 0, data.Length);
}
HttpWebResponse webResp = (HttpWebResponse)webReq.GetResponse();
Stream stream = webResp.GetResponseStream();
StreamReader sr = new StreamReader(stream, encoder);
html = sr.ReadToEnd();
可以用HttpWebRequest和HttpWebResponse
或者WebRequest和WebResponse