重定向期间在 RestSharp 中保留授权 header

Retaining authorization header in RestSharp during redirects

我正在使用 RestSharp 进行 GET api 调用。 api 调用通过 HTTP Basic 身份验证通过授权 header 进行身份验证。

服务器重定向 api 调用,状态代码为 307。我的客户端代码确实处理了重定向,但授权 header 没有传递给这个重定向的 api 调用。这样做是出于正当理由 。因此我确实收到了未经授权的错误。

如何配置 RestClient 来恢复授权header?

var client = new RestClient("https://serverurl.com");
var request = new RestRequest(Method.GET);

request.AddHeader("Authorization", "Basic Z3JvdXAxOlByb2otMzI1");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Tenant-Id", "4892");

IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

我添加了一个检查,用于重新发送 api 使用以下代码接收 401 的请求。

var client = new RestClient("https://serverurl.com");
var request = new RestRequest(Method.GET);

request.AddHeader("Authorization", "Basic Z3JvdXAxOlByb2otMzI1");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Tenant-Id", "4892");

IRestResponse response = client.Execute(request);

//Resend the request if we get 401
int numericStatusCode = (int)response.StatusCode;
if(numericStatusCode == 401) {
    var redirectedClient = new RestClient(response.ResponseUri.ToString());
    IRestResponse newResponse = redirectedClient.Execute(request);
    Console.WriteLine(newResponse.ResponseStatus);
}