2 回答
TA贡献1963条经验 获得超6个赞
不幸的是,.NET Core 本身不支持 SOCKS 代理,无论是 4 还是 5,它只支持HTTP 代理。
然而,有一个开源库可以为您的应用程序添加 SOCKS5 代理支持。试试这个:https ://github.com/MihaZupan/HttpToSocks5Proxy
结合以上两种方法,您的应用程序应该能够通过 SOCKS5 代理访问 Internet 资源。
TA贡献1836条经验 获得超13个赞
现在 .NET 6 支持 SOCKS 代理(在这里回答):
var proxy = new WebProxy
{
Address = new Uri("socks5://localhost:8080")
};
//proxy.Credentials = new NetworkCredential(); //Used to set Proxy logins.
var handler = new HttpClientHandler
{
Proxy = proxy
};
var httpClient = new HttpClient(handler);
或者当你可以注入 IHttpClientFactory 并想HttpClient使用它创建实例时:
Services.AddHttpClient("WithProxy")
.ConfigurePrimaryHttpMessageHandler(() =>
{
var proxy = new WebProxy
{
Address = new Uri("socks5://localhost:8080")
};
return new HttpClientHandler
{
Proxy = proxy
};
});
当你注入IHttpClientFactory对象时:
httpClient = httpClientFactory.CreateClient("WithProxy");
- 2 回答
- 0 关注
- 134 浏览
添加回答
举报