使用wget下载OracleXE

5

如何使用wget下载OracleXE并避免登录?

我尝试应用这个问题中有关Oracle Java的逻辑,但我无法使其工作。

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1 .0.x86_64.rpm.zip

我理解为:

--2015-10-13 04:51:03--  http://download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Resolving download.oracle.com (download.oracle.com)... 206.248.168.160, 206.248.168.139, 206.248.168.160, ...
Connecting to download.oracle.com (download.oracle.com)|206.248.168.160|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/akam/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip [following]
--2015-10-13 04:51:03--  https://edelivery.oracle.com/akam/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Resolving edelivery.oracle.com (edelivery.oracle.com)... 23.9.117.183, 23.9.117.183
Connecting to edelivery.oracle.com (edelivery.oracle.com)|23.9.117.183|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://login.oracle.com/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=v1.2~CA55CD32~7E777A421E00059BE8321AEAF3C29C59D68A2F46E15A49137CE5AAF6D6B46A0C599A4560AD622CF26FFFCF23FF8FC274F021B7E57B08CEF2076FADB1A57BBFB02B991E320BB3A417DDF966B4406E225736912745DE8F5E660631675765D519A5E7FF61481F567ED9C582AEAAEEC6E2A6C59D046AD82EA1C7AA08E9A1EDAFC44D97F22C470FE530A0F58872A00CAFD27012DF4851AD4964085264393C7220CF07817E14ED0B2130ECF06758DB538644A119246C4B65963CD1C825650BE3B3C86C1670EC8F754E943853BE4C58F0A4FD89B1CE14E7110087134765A9EBAA170769C75645798E1D978B944D2D896A564E49CD42478328D8661794E3DC377DBEF9F7C27184E0DFF7EAAB [following]
--2015-10-13 04:51:03--  https://login.oracle.com/pls/orasso/orasso.wwsso_app_admin.ls_login?Site2pstoreToken=v1.2~CA55CD32~7E777A421E00059BE8321AEAF3C29C59D68A2F46E15A49137CE5AAF6D6B46A0C599A4560AD622CF26FFFCF23FF8FC274F021B7E57B08CEF2076FADB1A57BBFB02B991E320BB3A417DDF966B4406E225736912745DE8F5E660631675765D519A5E7FF61481F567ED9C582AEAAEEC6E2A6C59D046AD82EA1C7AA08E9A1EDAFC44D97F22C470FE530A0F58872A00CAFD27012DF4851AD4964085264393C7220CF07817E14ED0B2130ECF06758DB538644A119246C4B65963CD1C825650BE3B3C86C1670EC8F754E943853BE4C58F0A4FD89B1CE14E7110087134765A9EBAA170769C75645798E1D978B944D2D896A564E49CD42478328D8661794E3DC377DBEF9F7C27184E0DFF7EAAB
Resolving login.oracle.com (login.oracle.com)... 209.17.4.8, 209.17.4.8
Connecting to login.oracle.com (login.oracle.com)|209.17.4.8|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2051 (2.0K) [text/html]
Saving to: ‘oracle-xe-11.2.0-1.0.x86_64.rpm.zip’

100%[======================================================================================================================================================>] 2,051       --.-K/s   in 0s

2015-10-13 04:51:03 (142 MB/s) - ‘oracle-xe-11.2.0-1.0.x86_64.rpm.zip’ saved [2051/2051]

你无法避免登录;你必须拥有一个Oracle账户才能获取文件。但是你可以用类似的方式编写脚本 - Oracle曾经为某些下载提供wget脚本,我仍然在需要获取此类文件且没有浏览器可用时使用某种变体。但是如果你没有账户,这将不起作用。如果你有账户,另一种方法是在目标机器上使用浏览器,必要时通过X11。 - Alex Poole
我愿意创建一个帐户。我尝试使用wget命令和--username以及--password选项,但没有成功。你可以把你的脚本发布为答案吗? - opticyclic
2个回答

1

要从URL直接下载Linux版的Oracle压缩包到服务器上,您需要:

1 - 使用凭据登录Oracle.com(https://login.oracle.com/mysso/signon.jsp

2 - 通过浏览器导出cookie.txt文件

3 - 将此文件复制到您的服务器上

scp cookies.txt  root@url:/path/

4 - 前往您的cookies.txt所在路径,复制安装链接,将其粘贴到服务器终端中

wget --load-cookies=cookies.txt  http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_1of2.zip

wget --load-cookies=cookies.txt http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_2of2.zip

检查文件大小使用命令ls -lah

我正在自动化一个流程,所以很遗憾,无法使用浏览器登录。 - opticyclic
好的。也许您可以永久地在自动化过程中使用这个 cookie。 - Musa
这些 cookie 大概会在几个月后过期。 - opticyclic
谢谢,这救了我的命,我的操作细节请点击这里: http://www.cnblogs.com/stevenlii/p/8580123.html - steven

0
请注意,wget --header "Cookie: oraclelicense=accept-securebackup-cookie"会破坏所有其他cookie,包括授权cookie。
相反,您可以使用自定义的cookies.txt文件和--user / --password选项(在Oracle Archive和OracleXE上进行了测试)。
echo .oracle.com    TRUE    /   FALSE   0   oraclelicense   accept-securebackup-cookie >cookies.txt
wget -c --load-cookies cookies.txt --trust-server-names --user=SSO_USERNAME --password=SSO_PASSWORD URL

更新:注意!cookies.txt 是以制表符分隔的!为了确保使用制表符,请使用 `echo -e .oracle.com\tTRUE\t/\tFALSE\t0\toraclelicense\taccept-securebackup-cookie > cookies.txt`


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接