无法在C#程序中下载JDK

时间:2019-06-04 02:57:09

标签: c#

我试图编写一个C#程序,需要在计算机上下载jdk。我已经写了一些代码,但是每次都只能下载3-4 kb

static void Main(string[] args)
{
    WebClient client = new WebClient();
    string address = "https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-windows-x64.exe";
    Uri uri = new Uri(address);
    var desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    string fileName = desktop + "\\jdk.exe";
    Console.WriteLine("Downloading file");
    client.DownloadFile(address, fileName);
    Console.WriteLine("Done Downloading File");
    Console.ReadLine();

}

2 个答案:

答案 0 :(得分:1)

如果将地址放在浏览器中,您将很快了解原因。

下载JDK8要求您现在登录。他们为旧版本的Java执行此操作。我相信JDK8大约在一个月前就开始了这种行为。

答案 1 :(得分:1)

您引用的URL重定向到oracle站点的SSO(单一登录)页面。可能4kb数据可以与网页相关,而不与.exe文件相关。如果您打算自动化下载,请确保将用户名和密码传递到SSO页面。