使用 WebClient class 下载文件发生异常
Download File with WebClient class occurs to exception
由于我是 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 字节。
我尝试 change/remove 这条线:
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");
它的工作...
我该怎么做才能解决这个问题?
此致,
谢谢
看来,你在
中的第二个参数有问题
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”,我相信它会解决问题。
您也不需要使用以下代码:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
好的,我找到了解决方案。
WebClient 似乎已被弃用。在 .net 文档中:
https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient?view=netframework-4.8
我们可以读到这个:
Important
We don't recommend that you use the WebClient class for new
development. Instead, use the System.Net.Http.HttpClient class.
So I changed my code to use HttpClient class.
由于我是 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 字节。
我尝试 change/remove 这条线:
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");
它的工作...
我该怎么做才能解决这个问题?
此致, 谢谢
看来,你在
中的第二个参数有问题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”,我相信它会解决问题。
您也不需要使用以下代码:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
好的,我找到了解决方案。
WebClient 似乎已被弃用。在 .net 文档中: https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient?view=netframework-4.8
我们可以读到这个:
Important
We don't recommend that you use the WebClient class for new development. Instead, use the System.Net.Http.HttpClient class.
So I changed my code to use HttpClient class.