RestSharp AddHeader not working
本文关键字:working not AddHeader RestSharp | 更新日期: 2023-09-27 18:11:35
我正在使用c#和RestSharp 105.2.3构建一个简单的REST/Json windows客户端。一切都工作得很好,但是我指定的额外HTTP头似乎没有根据Wireshark跟踪添加。我错过了什么,或者有一个底层的HTTP方法,我应该使用?
代码很简单,如下所示,我无法在跟踪中看到requesttid头:
var client = new RestClient("http://example.com");
client.Authenticator = new HttpBasicAuthenticator("username", password");
var requestParams = new RequestItem
{ Parameter1 = "test1", Parameter2 = "test2" };
var request = new RestRequest("/sample/", Method.POST);
request.AddHeader("RequestId", "value");
request.RequestFormat = DataFormat.Json;
request.Parameters.Clear();
var requestParamsJson = request.JsonSerializer.Serialize(requestParams);
request.AddParameter("application/json; charset=utf-8", requestParamsJson, ParameterType.RequestBody);
IRestResponse<ResponseItem> response = client.Execute<ResponseItem>(request);
您需要删除request.Parameters.Clear();
调用。在内部,RestSharp将标头添加到您正在清除的Parameters
集合中。因此,删除调用,或将其移动到添加标题的位置上方,将解决此问题。