将特殊字符从c#发送到webservice时出错
im使用方法POST向REST服务发送字符串将特殊字符从c#发送到webservice时出错,c#,web-services,post,C#,Web Services,Post,im使用方法POST向REST服务发送字符串 //--------------------------Method Post-------------------------- public static string methodPost(string header,string url,string body) { var request = (HttpWebRequest)WebRequest.Create(url); request.M
//--------------------------Method Post--------------------------
public static string methodPost(string header,string url,string body)
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
if(header!=null) request.Headers.Add(header);
request.ContentType = "application/json";
byte[] byteArray = Encoding.UTF8.GetBytes(body);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
var response = request.GetResponse();
Stream stream2 = response.GetResponseStream();
StreamReader reader2 = new StreamReader(stream2);
String ok = reader2.ReadToEnd();
return ok;
}
如果string body=“test send string”:成功,但string body=“test send”string:未成功。
如何修复它?谢谢!
“test send'string”
是合法的json,但您可以尝试“test send\'string”
。如果这不起作用,您需要询问管理web服务的人员。如果您的Rest服务尚未启用,请尝试使用此替换。。。或者试试我的简单ext:public static类ext{public static string AsAntiInjection(this string str){return str.Replace(“'”,“'”);}}