我正在使用C# 我正在尝试使用以下请求正文发出POST请求:
{"taskId":15, "values" : [{"Key": "myKey","Value":"<Items>
<Item>
<Item id="17362"/>
</Item>
</Items>"}]}
以下代码:
var postData = "{\"taskId\":15, \"values\" : [{\"Key\": \"myKey\",\"Value\":\"<Items> <Item> <Item id=\"17362\"/> </Item> </Items>\"}]}"
var data = Encoding.ASCII.GetBytes(postData);//postData is the reqeust body
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
得到以下的执行:
远程服务器返回错误:(400)错误请求
我该如何解决?谢谢!
修改
Web方法签名为:MyWebMethod(int taskId, Dictionary<string, object> values)
这两个请求对我有用:
{"taskId":15, "values" : 123 }]}
{"taskId":15, "values" : "123" }]}
我的Web服务器是C#WebService(.asmx)
答案 0 :(得分:0)
通过将"
替换为"
来解决问题。
缺点是我需要更改服务器端以再次将"
替换为"
。