web-dev-qa-db-fra.com

wget pour télécharger un link.php

Je ne parviens pas à trouver un moyen d'utiliser wget pour télécharger un fichier à partir d'un lien qui utilise php pour désigner le téléchargement.

Par exemple, si je veux écrire un script à télécharger ... disons superantispyware portable tous les jours afin que je dispose tout le temps d'une nouvelle copie (utile uniquement si vous utilisez Windows, ce que je ne fais pas mais je m'éloigne du sujet), le lien de téléchargement semble comme :

http://www.superantispyware.com/sasportable.php

Je ne veux pas le fichier PHP, je veux le fichier vers lequel il est lié. Dans un navigateur, je suppose que la magie côté serveur permet que cela fonctionne. Existe-t-il une incantation que je peux utiliser pour émuler ce que mon navigateur fait? Est-ce que curl peut le faire?

4
caleb

Par défaut, le nom de fichier de l'URL est utilisé comme nom de fichier cible. Si une redirection se produit, il est préférable d'utiliser le nom de fichier final. Cela peut être accompli avec l'option --trust-server-names de wget:

wget --trust-server-names http://example.com/file.php

De la page de manuel de wget:

--trust-server-names
Si cette option est activée, dans une redirection, le dernier composant de l'URL de redirection sera utilisé comme nom de fichier local. Par défaut, c'est le dernier composant de l'URL d'origine qui est utilisé.

Si le nom de fichier cible n’est pas celui que vous souhaitiez, vous pouvez utiliser l’option -O (option longue: --output-document) comme suit:

wget http://example.com/file.php -O meh.tar.gz
6
Lekensteyn

La "magie" est côté serveur, pas dans le navigateur, vous ne devez donc que wget ou curl l'URL.

0
psusi