Поскольку я новичок в c #, я не могу понять, почему это не работает.
Я пытаюсь загрузить файлы из репозитория Maven (https://repo1.maven.org/maven2/)
Вот мой код:
public static void Main(string[] args) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; try { var wcl = new WebClient(); wcl.DownloadFile("https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar", "C:/minecraft_test/mcassets/libraries/test/test.file"); } catch (Exception ex) { Console.WriteLine("error"); } }
Я получил исключение: получил неожиданный EOF или 0 байтов из транспортного потока.
Я пытаюсь изменить / удалить строку:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
, ноУ меня все та же ошибка.
Я пытался с pwoershell:
$webclient = new-object System.Net.WebClient; $webclient.DownloadFile("https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar", "C:/minecraft_test/mcassets/libraries/test/test.jar");
, и это работает ...
Что я могу сделать, чтобы это исправить?
С уважением, спасибо
Хорошо, я нашел решение.
Кажется, что WebClient устарел. В .net doc: https://docs.microsoft.com/fr-fr/dotnet/api/system.net.webclient?view=netframework-4.8
Мы можем прочитать это:
Важно Nous vous déconseillons d'utiliser la classe WebClient for le nouveau développement. Au lieu de cela, utilisz la classe System.Net.Http.HttpClient.
Важно
Nous vous déconseillons d'utiliser la classe WebClient for le nouveau développement. Au lieu de cela, utilisz la classe System.Net.Http.HttpClient.
Поэтому я изменил свой код для использования класса HttpClient.
Похоже, проблема с вашим вторым параметром в
wcl.DownloadFile("https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar", "C:/minecraft_test/mcassets/libraries/test/test.file");.
wcl.DownloadFile("https://repo1.maven.org/maven2/com/typesafe/akka/akka-actor_2.11/2.3.3/akka-actor_2.11-2.3.3.jar", "C:/minecraft_test/mcassets/libraries/test/test.file");
Попробуйте удалить «.file» в пути, я уверен, что это решит проблему.
Также вам не нужно использовать следующий фрагмент кода: