在自定义 HttpClientHandler 中设置 allowautoredirect=false

set allowautoredirect= false in custom HttpClientHandler

我有如下所示的自定义 HttpClientHandler

public class CustomHttpClientHandler : HttpClientHandler
{
    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        var bytes = Encoding.ASCII.GetBytes(await request.Content.ReadAsStringAsync());

        request.Headers.Add("RequestSignature", Convert.ToBase64String(bytes));

        return await base.SendAsync(request, cancellationToken);
    }
}

我想在此 CustomHttpClientHandler 中设置 allowautoredirect= false,我该怎么做才能应用于所有请求?

我是这样用的:

var client = new HttpClient(new CustomHttpClientHandler());

https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.allowautoredirect?view=netframework-4.8

你可以在构造函数中设置AllowAutoRedirect property,像这样

public class CustomHttpClientHandler : HttpClientHandler
{
    public CustomHttpClientHandler() : base() {
      // setup props
      AllowAutoRedirect = true;
    }

    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) {
      // your stuff
    }
}