【发布时间】:2015-07-09 13:27:23
【问题描述】:
我正在尝试使用一个单独的参数发布请求,例如:
var client = new RestClient("http://www.fluff.com");
var request = new RestRequest("whatever", Method.POST);
request.AddParameter("param", "Оксана");
client.Execute(request);
这会导致以下请求,注意一堆编码的问号:
POST http://www.fluff.com/whatever HTTP/1.1
Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml
User-Agent: RestSharp/105.0.1.0
Content-Type: application/x-www-form-urlencoded
Host: www.fluff.com
Content-Length: 24
Accept-Encoding: gzip, deflate
param=%3F%3F%3F%3F%3F%3F
想象一下接收者收到这些问号时的悲伤......
如何让 RestSharp 将正文正确编码为 UTF-8,或者如何以对 RestSharp 友好的方式发送请求,以免数据出现乱码?
【问题讨论】:
-
你考虑过用 HttpClient 代替 RestSharp 吗? PostAsJsonAsync 让这一切变得非常简单。
标签: c# .net encoding utf-8 restsharp