Scaricare un file dalla shell quando è necessario fare clic sul button

Ho un collegamento a un file che vorrei scaricare dalla shell. Purtroppo l'URL viene reindirizzato a una pagina del contratto di licenza software che richiede di fare clic su un button di accettazione. Questo va bene quando sono in un browser standard ma quando sono nel shell wget scaricherò semplicemente la pagina html e non il file effettivo. Quali sono le opzioni disponibili per scaricare il file nella shell quando i termini devono essere prima accettati?

In particolare, sto guardando la seguente pagina di download di LSI:

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

Ho visualizzato il codice sorgente nella pagina e ho trovato un collegamento alla posizione seguente ma anche tira la pagina eula quando utilizzo wget.

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

Finora le soluzioni che ho scelto sono:

  1. Scaricare su una macchina diversa con un browser e quindi caricarla sul server che dispone solo di una shell. Lento e doloroso.
  2. Installare qualcosa come Lynx. Non sono sicuro se Lynx gestisce i download e non ami l'idea di installare software aggiuntivi su un server di produzione.
  3. Continuare ad analizzare il codice EULA per determinare come impedisce il download (supponendo che sia javascript e non lato server).

Ci deve essere un modo più facile?

  • Curl restituisce sempre la stessa pagina 404
  • Scrivere uno script e gestirlo
  • Riavviare se il servizio tomcat7 non risponde
  • Dove posso (sicuro) get libintl3.dll?
  • come scaricare il certificato ssl da un sito web?
  • wget per printingre errori, ma nient'altro
  • Come servire una directory wget -mirror'ed di file con i questionmark in loro
  • come posso utilizzare i file di log di apache per ricreare lo scenario di utilizzo
  • 4 Solutions collect form web for “Scaricare un file dalla shell quando è necessario fare clic sul button”

    Di solito uso il lynx per questo. Prendi un momento e familiarizza con i tasti di navigazione. Il process di download è semplice e consente di select la posizione di output …

    Tuttavia, in questo caso, ho cercato di eseguire il download attraverso la lince , ma non ho avuto fortuna.

    Quindi prendi il nome di file risultante, 3DM2_CLI-Linux_10.2.1_9.5.4.zip , e cerca una fonte alternativa che ti permetterà di wget. Approccio più semplice.

    Per la maggior parte dei siti web, è ansible:

    • Inizia il download in firefox sul tuo PC.
    • Mentre il download è stato fatto clic destro e copia l'URL di download. Annulla il download.
    • Usa quel url con wget.

    Funziona sul 95% dei siti web che utilizzano reindirizzamenti come questo.

    Tuttavia, questo sito ha un comportmento strano:

    • Ho provato sul mio PC e scaricato immediatamente da quel URL – avendo appena accettato il loro EULA dal mio telefono sulla stessa networking wireless.
    • Scaricare in wget da un altro PC della stessa networking ha funzionato bene.
    • Scaricare in wget da un server remoto mi ha portto la pagina EULA.

    Dal momento che ho fatto tutto da diversi dispositivi, non sono biscotti o parametri post. L'unica cosa che condividono è che sono dietro allo stesso NAT.

    Quindi posso solo concludere che stanno tenendo traccia di indirizzi IP che hanno accettato l'EULA e solo mostrando la pagina EULA a quelli che non lo hanno. Per scaricarlo da wget – accettate l'EULA su un altro computer dal medesimo indirizzo IP pubblico o chiamate LSI e fatti scattare i loro web designer!

    Hack : questa è una soluzione specifica per LSI. Basta aggiungere l'origine = 1 all'URL. Quindi il collegamento

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

    cambierebbe a:

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

    Il command wget è quindi:

    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 PERCHÉ !?

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

    Questo collegamento va da un browser senza EULA, ma non ha funzionato per wget .. strano. Puoi solo scaricarlo su un desktop e poi sftp nella tua casella di linux?

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.