3 votes

Télécharger un fichier depuis le Shell lorsqu'un clic sur un bouton est nécessaire.

J'ai un lien vers un fichier que je voudrais télécharger depuis le Shell. Malheureusement, l'URL redirige vers une page de contrat de licence de logiciel qui nécessite de cliquer sur un bouton d'acceptation. Cela va bien quand je suis dans un navigateur standard mais quand je suis dans le Shell wget va juste télécharger la page html et pas le fichier réel. Quelles sont les options disponibles pour télécharger le fichier dans le Shell lorsque les conditions doivent d'abord être acceptées ?

Plus précisément, je regarde la page de téléchargement LSI suivante :

http://www.lsi.com/Pages/user/eula.aspx?file=http%3a%2f%2fwww.lsi.com%2fdownloads%2fPublic%2fSATA%2fSATA%2520Common%2520Files%2f3DM2_CLI-Linux_10.2.1_9.5.4.zip&Source=http%3a%2f%2fwww.lsi.com%2fdownloads

J'ai regardé le code source de la page et j'ai trouvé un lien vers l'emplacement suivant, mais il affiche également la page eula lorsque j'utilise wget.

http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip

Jusqu'à présent, les seules options que j'ai trouvées sont les suivantes :

  1. Téléchargez-le sur une autre machine qui dispose d'un navigateur, puis téléchargez-le sur le serveur qui ne dispose que d'un Shell. Lent et pénible.
  2. Installez quelque chose comme Lynx. Je ne suis pas sûr que Lynx gère bien les téléchargements et je n'aime pas l'idée d'installer un logiciel supplémentaire sur un serveur de production.
  3. Continuer à analyser le code EULA pour déterminer comment il empêche mon téléchargement (en supposant qu'il s'agit de javascript et non du côté serveur).

Il doit y avoir un moyen plus facile ?

1 votes

J'ai mis à jour ma réponse pour ce dossier particulier - en fait, LSI a besoin de nouveaux concepteurs de sites Web, car les concepteurs actuels ne fonctionnent pas.

3voto

Grant Points 16706

Pour la plupart des sites web, vous pouvez :

  • Lancez le téléchargement dans firefox sur votre PC.
  • Pendant le téléchargement, faites un clic droit et copiez l'URL de téléchargement. Annulez le téléchargement.
  • Utilisez cette url avec wget.

Cela fonctionne sur 95% des sites web qui utilisent des redirections de ce type.

Cependant, ce site a un comportement étrange :

  • J'ai essayé sur mon PC et le téléchargement s'est fait instantanément à partir de cette URL, alors que je venais d'accepter leur CLUF depuis mon téléphone sur le même réseau sans fil.
  • Le téléchargement avec wget depuis un autre PC sur le même réseau a bien fonctionné.
  • En téléchargeant avec wget depuis un serveur distant, j'ai obtenu la page du CLUF.

Comme j'ai fait tout cela à partir de différents appareils, ce ne sont pas des cookies ou des paramètres de poste. La seule chose qu'ils partagent est qu'ils sont derrière le même NAT.

Je ne peux donc qu'en conclure qu'ils gardent la trace des adresses IP qui ont accepté le CLUF et ne montrent la page du CLUF qu'à celles qui ne l'ont pas accepté. Pour le télécharger à partir de wget, il faut soit accepter le CLUF sur un autre ordinateur à partir de la même adresse IP publique, soit appeler LSI et faire virer ses concepteurs web !

0 votes

Cela ne fonctionne pas dans ce cas.

0 votes

Alors ils utilisent soit des cookies, soit des paramètres postaux... Je vérifierai quand je serai devant un ordinateur.

3voto

ewwhite Points 193555

En général, j'utilise simplement lynx pour cela. Prenez un moment pour vous familiariser avec les touches de navigation. Le processus de téléchargement est simple et vous permet de sélectionner l'emplacement de sortie...

Cependant, dans ce cas, J'ai essayé d'exécuter le téléchargement via Lynx. mais je n'ai pas eu de chance.

Il suffit donc de prendre le nom du fichier résultant, 3DM2_CLI-Linux_10.2.1_9.5.4.zip et rechercher un autre source que sera vous permettent d'utiliser wget. L'approche la plus simple.

0 votes

J'aime l'idée simple de trouver une autre source. Cependant, cela ne comporte-t-il pas aussi un certain risque, car nous ne savons pas s'il s'agit d'une source fiable ou non ? Au fait, merci pour la vidéo sur le lynx.

1 votes

Oui, il y a un certain risque, mais pour le logiciel que vous recherchez, vous pouvez comparer les tailles/checkums de plusieurs sources différentes... Ou télécharger depuis LSI sur votre ordinateur ou une autre source de confiance et copier sur le système cible. Ce n'était pas un gros fichier.

0 votes

J'ai fini par utiliser mon pirater mais je pense que votre solution fonctionnera mieux pour la plupart des sites Web qui ont ce problème. Merci pour votre aide !

2voto

jackweirdy Points 764

Hack : Il s'agit d'une solution spécifique pour LSI. Il suffit d'ajouter la source=1 à l'url. Ainsi le lien

http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip

changerait en :

http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip?source=1

La commande wget est alors :

wget http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip?source=1 -O 3DM2_CLI-Linux_10.2.1_9.5.4.zip

LSI POURQUOI ?

0 votes

Joli, ça marche aussi avec les boucles. Par exemple curl -O http://www.lsi.com/downloads/Public/MegaRAID%20Common%20File‌​s/MR_LINUX_DRIVER-06‌​.506.00.00.tgz?sourc‌​e=1

0voto

http://www.lsi.com/downloads/Public/SATA/SATA%20Common%20Files/3DM2_CLI-Linux_10.2.1_9.5.4.zip

Ce lien permet d'y accéder depuis un navigateur sans CLUF, mais il n'a pas fonctionné avec wget bizarre. Vous pouvez simplement le télécharger sur un ordinateur de bureau puis le transférer par sftp sur votre machine linux ?

0 votes

Ne fonctionne pas à partir d'un navigateur en mode texte ( lynx ) ou wget .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X