代码改变世界

HttpWebRequest POST Data

2012-09-02 23:00  yezhi  阅读(278)  评论(0编辑  收藏  举报
private string HttpPostRequest(string url, Dictionary<string,string> postParameters)
{
    string postData = "";

    foreach (string key in postParameters.Keys)
    {
        postData += HttpUtility.UrlEncode(key) + "="
              + HttpUtility.UrlEncode(postParameters[key]) + "&";
    }

    HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
    myHttpWebRequest.Method = "POST";

    byte[] data = Encoding.ASCII.GetBytes(postData);

    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
    myHttpWebRequest.ContentLength = data.Length;

    Stream requestStream = myHttpWebRequest.GetRequestStream();
    requestStream.Write(data, 0, data.Length);
    requestStream.Close();

    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

    Stream responseStream = myHttpWebResponse.GetResponseStream();

    StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default);

    string pageContent = myStreamReader.ReadToEnd();

    myStreamReader.Close();
    responseStream.Close();

    myHttpWebResponse.Close();

    return pageContent;
}