Post请求webservice

  1. private string HttpPostNew(string Url,string postDataStr)   
  2. {  
  3.     //string post_string = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(postDataStr));  
  4.     byte[] postBytes = Encoding.GetEncoding("utf-8").GetBytes(postDataStr);  
  5.     HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest;//(HttpWebRequest)WebRequest.Create(Url);  
  6.     request.Method = "POST";  
  7.     //request.ContentType = "application/x-www-form-urlencoded";  
  8.     request.ContentType = "application/json";  
  9.       
  10.     request.ContentLength = postBytes.Length;//Encoding.UTF8.GetByteCount(post_string);  
  11.     // request.CookieContainer = cookie;  
  12.   
  13.     Stream myRequestStream = request.GetRequestStream();  
  14.     //StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("utf-8"));             
  15.     //myStreamWriter.Write(post_string);  
  16.     //myStreamWriter.Close();  
  17.   
  18.   
  19.     myRequestStream.Write(postBytes, 0, postBytes.Length);  
  20.     myRequestStream.Close();  
  21.   
  22.     HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
  23.   
  24.     //response.Cookies = cookie.GetCookies(response.ResponseUri);  
  25.     Stream myResponseStream = response.GetResponseStream();  
  26.     StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));  
  27.     string retString = myStreamReader.ReadToEnd();  
  28.     myStreamReader.Close();  
  29.     myResponseStream.Close();  
  30.   
  31.     return retString;  
  32. }  

以下函数不能解决中文上传问题,如果上传的数据里有中文,写入的时候就会出错:

  1. private string HttpPost(string Url, string postDataStr)  
  2. {  
  3.     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);  
  4.     request.Method = "POST";  
  5.     request.ContentType = "application/json";  
  6.     request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);  
  7.     Stream myRequestStream = request.GetRequestStream();  
  8.     StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));  
  9.     myStreamWriter.Write(postDataStr);  
  10.     myStreamWriter.Close();  
  11.     HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
  12.     Stream myResponseStream = response.GetResponseStream();  
  13.     StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));  
  14.     string retString = myStreamReader.ReadToEnd();  
  15.     myStreamReader.Close();  
  16.     myResponseStream.Close();  
  17.     return retString;  
  18. }  
  1. private string HttpPostNew(string Url,string postDataStr)   
  2. {  
  3.     //string post_string = Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(postDataStr));  
  4.     byte[] postBytes = Encoding.GetEncoding("utf-8").GetBytes(postDataStr);  
  5.     HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest;//(HttpWebRequest)WebRequest.Create(Url);  
  6.     request.Method = "POST";  
  7.     //request.ContentType = "application/x-www-form-urlencoded";  
  8.     request.ContentType = "application/json";  
  9.       
  10.     request.ContentLength = postBytes.Length;//Encoding.UTF8.GetByteCount(post_string);  
  11.     // request.CookieContainer = cookie;  
  12.   
  13.     Stream myRequestStream = request.GetRequestStream();  
  14.     //StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("utf-8"));             
  15.     //myStreamWriter.Write(post_string);  
  16.     //myStreamWriter.Close();  
  17.   
  18.   
  19.     myRequestStream.Write(postBytes, 0, postBytes.Length);  
  20.     myRequestStream.Close();  
  21.   
  22.     HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
  23.   
  24.     //response.Cookies = cookie.GetCookies(response.ResponseUri);  
  25.     Stream myResponseStream = response.GetResponseStream();  
  26.     StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));  
  27.     string retString = myStreamReader.ReadToEnd();  
  28.     myStreamReader.Close();  
  29.     myResponseStream.Close();  
  30.   
  31.     return retString;  
  32. }  

猜你喜欢

转载自www.cnblogs.com/eation320/p/9010542.html