web-dev-qa-db-fra.com

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

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

Je ne parviens pas à trouver JRE6 dans un référentiel faisant autorité ni à 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

10
tomtomnz

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

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

  1. Ouvrez Firefox, accédez à la page de téléchargements Java correspondant à la version/variante souhaitée et cliquez sur le bouton radio Accepter le contrat de licence .

    enter image description here

  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 fichier texte au format cookies que wget peut utiliser ( source pour le script ):

     echo ".mode tabs 
     sélectionnez Hôte, cas quand Hôte glob '. *' puis 'VRAI', sinon 'FAUX', chemin, 
     cas où isSecure puis 'VRAI' sinon 'FALSE' end, expiry, nom, valeur 
     de moz_cookies; " | sqlite3 ~/.mozilla/firefox/*. default/cookies.sqlite 
     | grep -i Oracle> /tmp/Oracle-cookies.txt
    
  3. Maintenant, utilisez wget pour 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. Notes:

    • Vous pouvez utiliser ces cookies pour tout téléchargement Oracle, à condition qu'il provienne du répertoire otn-pub.
    • Vous pouvez coller le script dans un fichier .sh pour une utilisation plus facile.
    • Les cookies ne sont pas associés à l'IP. Par conséquent, pour un serveur sans interface/CLI, il suffit de transférer le fichier cookies et de le télécharger à partir de n’importe quel ordinateur (mais le cookie a un délai d’attente de 30 minutes, alors méfiez-vous)
    • Connexes: Comment utiliser wget/curl pour télécharger depuis un site sur lequel je suis connecté?
10
ish

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

6
Periata Breatta

Il existe une question similaire sur stackoverflow: Comment automatiser le téléchargement et l’installation de Java JDK sous Linux?

La réponse à l'aide de 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. Les différentes archives de version Java diffèrent non seulement par leur version, mais également par leur extension.

6
Draco Ater

En complément de la réponse izx, il existe un plug-in chrome que vous pouvez utiliser pour exporter vos cookies, vous évitant ainsi d'utiliser sqlite.

1
pushy

Un moyen rapide sans les cookies:

  • Lancer 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).

0
user104502

En fait, récupérez simplement le contenu donné par l'extension chrome mentionnée par pushy dans un fichier sur votre linux. Copiez ensuite l’adresse dl d’Oracle et ajoutez-la à votre commande wget. Par exemple, pour dl Oracle Database 11g version 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

0
Nicolas Mas