我正在开发Windows手机应用程序。因为我需要以UTF8编码格式将json字符串发送到服务器。我按照下面提到的方法。
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字符串有" "字符或" +"字符。当存在这些字符时,服务器不会给出预期的响应。我不知道自己错过了什么。
请帮忙。 谢谢。
答案 0 :(得分:1)
以application/x-www-urlencoded
格式提交时的PostData必须是URL编码。
这就是名字。
string postData = "OPERATION_NAME=" + URLEncode(operationName)
+ "&" + "INPUT_DATA=" + URLEncode(inputData);