gpt4 book ai didi

c# - 如何将 HttpClientHandler 添加到 url?

转载 作者:行者123 更新时间:2023-11-30 23:08:38 25 4
gpt4 key购买 nike

我有这个请求处理程序:

var httpClientHandler = new HttpClientHandler
{
Proxy = new WebProxy(proxy.Address, proxy.Port),
UseProxy = true
};

和:

var url = new Url(hostUrl)
.AppendPathSegment(pathSegment);

如何将请求处理程序添加到 FlurlClient?

最佳答案

创建您自己的 ProxiedHttpClientFactory 以覆盖 CreateMessageHandler() 方法:

public class ProxiedHttpClientFactory : DefaultHttpClientFactory
{
private readonly string _proxyAddress;
private readonly int _proxyPort;

public ProxiedHttpClientFactory(string proxyAddress, int proxyPort)
{
this._proxyAddress = proxyAddress;
this._proxyPort = proxyPort;
}

public override HttpMessageHandler CreateMessageHandler()
{
return new HttpClientHandler
{
Proxy = new WebProxy(this._proxyAddress, this._proxyPort),
UseProxy = true
};
}
}

然后使用它:

var settings = new FlurlHttpSettings
{
HttpClientFactory = new ProxiedHttpClientFactory("my.proxy.com", 8080)
};

var client = new FlurlClient(settings);

在现有的 Url 实例上:

var url = new Url(hostUrl)
.AppendPathSegment(pathSegment)
.ConfigureClient(settings => settings.HttpClientFactory = new ProxiedHttpClientFactory("my.proxy.com", 8080));

关于c# - 如何将 HttpClientHandler 添加到 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46391554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com