public static string HttpPost(string url, string queryString)
        {
            StreamWriter requestWriter = null;
            string responseData = null;
            HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
            webRequest.Method = "POST";
            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.ServicePoint.Expect100Continue = false;
            webRequest.Timeout = 20000;
            webRequest.KeepAlive = false;
                requestWriter = new StreamWriter(webRequest.GetRequestStream());//执行到这里就出错了。
                requestWriter.Write(queryString);
                requestWriter.Close();
                requestWriter = null;
                responseData = WebResponseGet(webRequest);
                webRequest = null;
                return responseData;
        }在本地测试是通过的。  放服务器上报错。
请问各位大侠 小弟应该如何处理?

解决方案 »

  1.   


     #region 同步通过POST方式发送数据
           /// <summary>
           /// 通过POST方式发送数据
           /// </summary>
           /// <param name="Url">url</param>
           /// <param name="postDataStr">Post数据</param>
           /// <param name="cookie">Cookie容器</param>
           /// <returns></returns>
           public string SendDataByPost(string Url,string postDataStr,ref CookieContainer cookie)
           {
             HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
             if (cookie.Count == 0)
             {
                request.CookieContainer = new CookieContainer();
                cookie = request.CookieContainer;
             }
             else
             {
                request.CookieContainer = cookie;
             }         request.Method = "POST";
             request.ContentType = "application/x-www-form-urlencoded";
             request.ContentLength = postDataStr.Length;
             Stream myRequestStream = request.GetRequestStream();
             StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
             myStreamWriter.Write(postDataStr);
             myStreamWriter.Close();         HttpWebResponse response = (HttpWebResponse)request.GetResponse();
             Stream myResponseStream = response.GetResponseStream();
             StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
             string retString= myStreamReader.ReadToEnd();
             myStreamReader.Close();
             myResponseStream.Close();         return retString;
           }
           #endregion myStreamReader.Close();
             myResponseStream.Close();声明了,最后记得关闭。