下载之前,Python wget绕过复选框

时间:2018-12-04 16:03:34

标签: python wget

因此,我试图从网站(即jdk)下载文件以自动执行工作站设置。从oracle网站下载时,您被迫接受TOS。

我的问题是,您究竟如何接受python wget的TOS?

import wget
import ssl

ssl._create_default_https_context = ssl._create_unverified_context

url = "https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_windows-x64_bin.exe"
wget.download(url, 'java11.exe')

1 个答案:

答案 0 :(得分:0)

使用wget模块,您无法设置cookie,Oracle网站用来接受TOS。

相反,您可以使用requests模块来设置cookie,下载和保存文件。

import requests

url = 'https://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_windows-x64_bin.exe'

cookie = { 'oraclelicense': 'accept-securebackup-cookie' }

r = requests.get(url, cookies=cookie)
if r.status_code == 200:
    with open("jdk-11.0.1_windows-x64_bin.exe", 'wb') as file:
        file.write(r.content)

编辑:我看到您还通过未验证的SSL连接,要使用requests进行此操作,可以将verify设置为False:

r = requests.get(url, cookies=cookie, verify=False)