我面临一个问题,我尝试从 C# 应用程序与 Ruby API 进行通信。
我需要发布一些 JSON 数据,参数名称为“data”,但 API 返回:'!! 处理请求时出现意外错误:无效的 %-encoding'。
我尝试将 Content-Type 设置为 'application/json' 和 'application/x-www-form-urlencoded; 字符集=utf-8'。
我的 POST 数据看起来像这样 'data=some_json_string'。
我想我应该转义 json 字符串,所以如果这是我的问题,如何在不使用 3rd 方库的情况下使用 .NET 来做到这一点?
代码:
byte[] data = System.Text.ASCIIEncoding.UTF8.GetBytes(sdata);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url, UriKind.Absolute));
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded; charset=utf-8";
request.ContentLength = data.Length;
Stream reqStream = request.GetRequestStream();
// Send the data.
reqStream.Write(data, 0, data.Length);
reqStream.Close();
提前致谢!