C#HttpWebRequest POST=>!!处理请求时出现意外错误:编码无效
我面临着一个问题,我试图从C#应用程序与Ruby API进行通信 我需要发布一些JSON数据,参数名为“data”,但API返回我:'!!处理请求时出现意外错误:无效%-编码' 我尝试将内容类型设置为“application/json”和“application/x-www-form-urlencoded”;字符集=utf-8' 我的帖子数据看起来像‘data=some_json_string’ 我想我应该转义json字符串,所以如果这是我的问题,那么如何在不使用第三方库的情况下使用.NET进行转义呢 代码:C#HttpWebRequest POST=>!!处理请求时出现意外错误:编码无效,c#,.net,json,serialization,C#,.net,Json,Serialization,我面临着一个问题,我试图从C#应用程序与Ruby API进行通信 我需要发布一些JSON数据,参数名为“data”,但API返回我:'!!处理请求时出现意外错误:无效%-编码' 我尝试将内容类型设置为“application/json”和“application/x-www-form-urlencoded”;字符集=utf-8' 我的帖子数据看起来像‘data=some_json_string’ 我想我应该转义json字符串,所以如果这是我的问题,那么如何在不使用第三方库的情况下使用.NET进行
提前谢谢 假设输入的字符串sdata已经是JSON格式,您可以执行以下操作:
using (WebClient wc = new WebClient())
{
string uri = "http://www.somewhere.com/somemethod";
string parameters = "data=" + Uri.EscapeDataString(sdata);
wc.Headers["Content-type"] = "application/x-www-form-urlencoded";
string result = wc.UploadString(uri, parameters);
}
根据消费服务的不同,它可能需要将内容类型设置为application/json?请发布完整的c代码
using (WebClient wc = new WebClient())
{
string uri = "http://www.somewhere.com/somemethod";
string parameters = "data=" + Uri.EscapeDataString(sdata);
wc.Headers["Content-type"] = "application/x-www-form-urlencoded";
string result = wc.UploadString(uri, parameters);
}