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);

RestSharp AddHeader not working

您需要删除request.Parameters.Clear();调用。在内部,RestSharp将标头添加到您正在清除的Parameters集合中。因此,删除调用,或将其移动到添加标题的位置上方,将解决此问题。