Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#HttpWebRequest POST=>!!处理请求时出现意外错误:编码无效_C#_.net_Json_Serialization - Fatal编程技术网

C#HttpWebRequest POST=>!!处理请求时出现意外错误:编码无效

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进行

我面临着一个问题,我试图从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);
}