Comment contourner la page de licence pour télécharger Oracle / Sun Java sur un serveur avec wget?

10

J'essaie d'installer Liferay sur Ubuntu Server 12.04, qui nécessite JRE et recommande la version 6.

Je ne trouve pas JRE6 dans un référentiel faisant autorité et je ne peux pas trouver comment dépasser le contrat de licence pour un téléchargement manuel (wget).

Puis-je ajouter une valeur à wget pour accepter le contrat de licence Oracle et télécharger le fichier?

Merci

tomtomnz
la source
Pour les futurs chercheurs, vérifiez ceci: stackoverflow.com/a/10959815/2184122
Robert Lugg

Réponses:

10

Téléchargements Oracle Java "automatisés" (JRE / JDK 6/7 et autres ...)

Vous aurez besoin de sqlite3 installé; c'est un petit paquet, utilisez-le sudo apt-get install sqlite3si vous en avez besoin.

  1. Ouvrez Firefox, accédez à la page de téléchargements Java pour la version / variante dont vous avez besoin, puis cliquez sur le bouton radio Accepter le contrat de licence .

    entrez la description de l'image ici

  2. Ouvrez un terminal et collez-le pour extraire les cookies de session Oracle nécessaires de la base de données de cookies Firefox SQLite dans un cookiesfichier texte au format que vous wgetpouvez utiliser ( source du script ):

    onglets "echo" .mode
    sélectionner l'hôte, cas où l'hôte glob '. *' puis 'TRUE' sinon 'FALSE' end, path,
    cas où isSecure puis 'TRUE' sinon 'FALSE' fin, expiration, nom, valeur
    de moz_cookies; "| sqlite3 ~ / .mozilla / firefox / *. default / cookies.sqlite
    | grep -i oracle> /tmp/oracle-cookies.txt
    
  3. Maintenant, utilisez wgetpour télécharger avec ces cookies de session:

    wget --load-cookies=/tmp/oracle-cookies.txt wget http://download.oracle.com/otn-pub/java/jdk/6u14-b08/jdk-6u14-linux-x64.bin
  4. Remarques:

    • Vous pouvez utiliser ces cookies pour tout téléchargement Oracle tant qu'il provient du otn-pubrépertoire
    • Vous pouvez coller le script dans un fichier .sh pour une utilisation plus facile
    • Les cookies ne sont pas associés à IP, donc pour un serveur sans tête / CLI, il suffit de SCP ou de transférer le cookiesfichier et vous pouvez télécharger à partir de n'importe quel ordinateur (mais il y a un délai de 30 minutes sur le cookie, alors méfiez-vous)
    • Connexe: Comment utiliser wget / curl pour télécharger à partir d'un site auquel je suis connecté?
ish
la source
1
Est-ce 100% légal?
Tachyons
@ tachyons Oui, vous devez ouvrir un navigateur sur un ordinateur et cliquer sur "Accepter le contrat de licence" avant de pouvoir faire tout cela ...
ish
Truc cool, mais une idée si ça marche toujours? Je continue de l'essayer mais il ne télécharge qu'un contenu de page html qui dit "Désolé! Pour télécharger des produits depuis l'OTN, vous devez accepter les termes de la licence OTN". Soit je me trompe, soit Oracle est devenu sage ...
Kurtosis
Vous pouvez toujours également passer cette URL dans le navigateur :)
Dreamwalker
Bien que cette réponse soit excellente, celle que je viens de publier ci-dessous est beaucoup plus facile. Bien sûr, vous devrez peut-être vous rabattre sur celui-ci si le mien cesse de fonctionner.
Periata Breatta du
6

Il y a une question similaire sur stackoverflow: comment automatiser le téléchargement et l'installation de Java JDK sous Linux?

La réponse en utilisant wget est:

wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz"

Le dernier argument est l'URL à télécharger. Différentes archives de version java diffèrent non seulement dans la version, mais aussi dans l'extension.

Draco Ater
la source
2
Ne fonctionne plus.
Roger Dahl
ouais cela ne fonctionne pas, continue de me rediriger vers login.oracle.com
Alexander Mills
6

Un conseil de mkyong.com : vous pouvez utiliser wget --header "Cookie: oraclelicense=accept-securebackup-cookie" [link from download page]pour télécharger sans avoir à extraire les cookies de votre navigateur.

Periata Breatta
la source
C'est clairement mieux que les autres réponses tant que cela fonctionne. C'est toujours le cas au moment d'écrire ces lignes.
Ludovic Kuty
1

En plus de la réponse à izx, il existe un plugin Chrome que vous pouvez utiliser pour exporter vos cookies, vous n'avez donc pas à utiliser sqlite.

arrogant
la source
La réponse de @ izx est excellente. Mais je préfère de loin la suggestion de pushy d'utiliser "Exporter Cookie.txt" pour obtenir le contenu du cookie (correspondant à l'étape 2 de la réponse d'izx) plutôt que d'utiliser sqlite3.
mdahlman
0

Un moyen rapide sans cookies:

  • Lancez le téléchargement dans votre navigateur
  • Suspendre le téléchargement
  • Copiez l'URL utilisée pour le téléchargement
  • Utilisez l'url avec wget: wget --no-check-certificate URL_FOR_DOWNLOAD

L'URL n'est probablement valide que pour une durée limitée (souvent 30 minutes).

user104502
la source
0

En fait, il suffit d'obtenir le contenu donné par l'extension chrome mentionnée par pushy dans un fichier sur votre linux. Copiez ensuite l'adresse DL depuis la page Oracle et ajoutez-la à votre commande wget. Par exemple, pour dl Oracle Database 11g Release 2 (11.2.0.1.0):

vagrant@vagrant-ubuntu-trusty-64:~/download$ wget -x --load-cookies cookies.txt http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

Nicolas Mas
la source