我正在尝试将一些 JSON 信息发送到服务器。我在正文中添加了一个预序列化的字符串,并在标题中放置了一些属性。
RestClient client = new RestClient(requURI);
RestRequest request = new RestRequest(reqPath, method);
request.RequestFormat = DataFormat.Json;
request.JsonSerializer.ContentType = "application/json; charset=utf-8";
request.AddHeader("Date", getIsoStringFromDate(DateTime.Now));
request.AddParameter("application/json; charset=utf-8", JSonString, ParameterType.RequestBody);
除了不会显示的日期标题之外,一切都运行良好。当我将线路更改为
request.AddHeader("Datexxx", getIsoStringFromDate(DateTime.Now));
它将显示在标题中(请参阅网络跟踪)
System.Net Information: 0 : [5620] ConnectStream#61150033 - Header
{
Datexxx: 2015-03-16 16:19:39
Accept: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml
User-Agent: RestSharp 104.1.0.0
Content-Type: application/json; charset=utf-8
Host: localhost:8080
Content-Length: 620
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
}
我假设“日期”是 Rest Sharp 预定义或预填充的值。
我添加了一个 dateFormat 定义
request.DateFormat = "MMMM dd, yyyy";
但是仍然没有显示日期标题属性。还尝试在添加之前清除所有参数,但也无济于事。
有一个关于这个的 github 错误,但它已经超过 2 年了。也许我只是缺少像“includeDateInHeader”开关这样的东西。
我使用 .Net 3.5 和 Rest Sharp 104.1.0.0。或 105.1.0.0。提前谢谢!