我遇到了一個問題,我嘗試從C#應用程序與Ruby API進行通信。C#HttpWebRequest POST => !!處理請求時出現意外錯誤:無效%-encoding
我需要POST一些JSON數據,參數名稱爲「data」,但API返回給我:'!處理請求時出現意外錯誤:%%-encoding'無效。
我嘗試將Content-Type設置爲'application/json'和'application/x-www-form-urlencoded;字符集= UTF-8' 。
我的POST數據看起來像這樣'data = some_json_string'。
我想我應該逃避json字符串,所以如果這是我的問題,如何使用.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();
提前感謝!
請您可以發佈完整的C#代碼 – Phil 2012-07-13 19:05:04