用于下载Java JDK Windows的Python脚本

时间:2017-05-17 16:31:14

标签: java python windows download

我正在尝试使用Python脚本从Oracle网站下载Java JDK。代码是这样的:

import urllib2

def download(cookie, license, url, filename):
    print url
    print filename
    opener = urllib2.build_opener()
    opener.addheaders.append((cookie, license))
    f = opener.open(url)
    with open(filename, 'w+') as save:
        save.write(f.read())

cookie = 'Cookie'
license = 'oraclelicense=accept-securebackup-cookie'
url = 'http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-windows-x64.exe'
filename = 'jdk-8u131-windows-x64.exe'

download(cookie, license, url, filename)

代码下载文件,但下载的文件包含203 576KB,原始文件应为202 784KB,当我尝试运行时,表示无法在我的计算机上运行此文件。 / p>

使用相同的代码,如果我将url和filename变量更改为Linux版本,如下所示:

url = 'http://download.oracle.com/otn-pub/java/jdk/8-b132/jdk-8-linux-x64.tar.gz'
filename = 'jdk-8-linux-x64.tar.gz'

它可以正常工作并下载文件。我可以在代码中更改哪些内容以使其在Windows中运行?

1 个答案:

答案 0 :(得分:1)

我明白了。我没有以二进制模式保存文件所以只需要将模式从'w +'更改为'wb +',如下所示:

with open(filename, 'wb+') as save:
        save.write(f.read())