C# 重定向期间在RestSharp中保留授权标头
我正在使用RestSharp进行GET api调用。api调用通过HTTP基本身份验证通过传递授权头进行身份验证 服务器使用状态代码307重定向api调用。我的客户端代码确实处理重定向,但授权标头不会传递给此重定向的api调用。如前所述,这样做是有正当理由的。因此,我得到一个未经授权的错误 如何配置RestClient以还原授权标头C# 重定向期间在RestSharp中保留授权标头,c#,api,restsharp,unauthorized,C#,Api,Restsharp,Unauthorized,我正在使用RestSharp进行GET api调用。api调用通过HTTP基本身份验证通过传递授权头进行身份验证 服务器使用状态代码307重定向api调用。我的客户端代码确实处理重定向,但授权标头不会传递给此重定向的api调用。如前所述,这样做是有正当理由的。因此,我得到一个未经授权的错误 如何配置RestClient以还原授权标头 var client = new RestClient("https://serverurl.com"); var request = new RestReques
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);
我添加了一个检查,用下面的代码重新发送接收401的api请求
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);
}