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 關注
- 169 瀏覽
添加回答
舉報