写了个Post方法,当param的xml节点中有中文的时候,中文,获取不到response的返回数据,请帮忙看看,方法哪里有问题??
public static string Post( string param)
{
try
{
string responseXml = "";
// XML请求体
string requestBody = param;
// 发送POST请求
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
request.Method = "POST";
request.ContentType = "text/xml";
byte[] payload;
payload = System.Text.Encoding.UTF8.GetBytes(requestBody);
request.ContentLength = payload.Length;
// request.ContentLength = requestBody.Length;
using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(Encoding.ASCII.GetChars(payload));
// writer.Write(requestBody);
}
// 获取响应
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// 读取响应流
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
responseXml = reader.ReadToEnd();
}
//关闭响应流和请求对象
response.Close();
request.Abort();
//responseXml = responseXml.Replace("\"", "'");
if(strXmllog=="true")
{
Logger.log(responseXml);
}
return responseXml;
}
catch (Exception exception)
{
Logger.log(exception.ToString() + Environment.NewLine);
return "";
}
}