C# UTF8编码的post数据导致windows phone出现问题
我正在开发windows phone应用程序。在这种情况下,我需要以UTF8编码格式向服务器发送一个json字符串。我遵循下面提到的方法C# UTF8编码的post数据导致windows phone出现问题,c#,json,post,windows-phone-8,utf-8,C#,Json,Post,Windows Phone 8,Utf 8,我正在开发windows phone应用程序。在这种情况下,我需要以UTF8编码格式向服务器发送一个json字符串。我遵循下面提到的方法 private void RequestStreamCallBack(IAsyncResult ar) { try { HttpWebRequest request = (HttpWebRequest)ar.AsyncState; Stream postStrea
private void RequestStreamCallBack(IAsyncResult ar)
{
try
{
HttpWebRequest request = (HttpWebRequest)ar.AsyncState;
Stream postStream = request.EndGetRequestStream(ar);
string postData = "OPERATION_NAME=" + operationName + "&INPUT_DATA=" + inputData ;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
postStream.Write(byteArray, 0, postData.Length);
postStream.Close();
request.BeginGetResponse(new AsyncCallback(ResponseCallback), request);
}
catch (Exception ex)
{
}
}
inputData包含JSON字符串。到目前为止,它工作得很好。但现在json字符串有“”字符或“+”字符。当这些字符出现时,服务器不会给出预期的响应。我不知道我错过了什么
请帮忙。
谢谢。以
应用程序/x-www-urlencoded
格式提交的PostData必须是URL编码的
它是以名字命名的
string postData = "OPERATION_NAME=" + URLEncode(operationName)
+ "&" + "INPUT_DATA=" + URLEncode(inputData);
是的,谢谢,这很有帮助。但是当我在windows phone中开发时,我发现我必须使用本机类。Uri.EscapeDataString而不是URLEncode。谢谢你。