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 :
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?
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
La "magie" est côté serveur, pas dans le navigateur, vous ne devez donc que wget
ou curl
l'URL.