Согласно https://docs.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest.proxy?view=netcore-3.1 FtpWebRequest
не поддерживает прокси с. NET Core. Есть ли альтернатива?
Мне нужно получить доступ к файлу FTP через некоторый прокси-сервер squid (то есть FTP через HTTP) с аутентификацией прокси (NTLM).
Это пример кода:
FtpWebRequest request = (FtpWebRequest) WebRequest.Create("ftp://ftp.ubuntu.com/");
var proxy = new WebProxy("my.squid.host", 8080);
proxy.Credentials = new NetworkCredential("squid_user", "squid_pass");
request.Proxy = proxy;
WebResponse response = request.GetResponse();
var result = new StreamReader(response.GetResponseStream()).ReadToEnd();
Console.WriteLine(result);
Если вы замените squid host / user / pass в этом коде на ваш, вы увидите, что это прекрасно работает с этим файлом csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
</Project>
Но он больше не работает. NET Ядро:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
</Project>