56 votes

Force wget à utiliser le nom de fichier réel

Lorsque vous utilisez wget dans un script pour télécharger certains fichiers depuis Google Docs, le nom du fichier n'est pas conservé. Par exemple :

wget 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls' 

enregistre le fichier en tant que pub?key=pyj6tScZqmEfbZyl0qjbiRQ au lieu de indicatorhivestimatedprevalence15-49.xls et c'est ce que j'obtiens si je clique sur le lien dans un navigateur. Existe-t-il un moyen d'imposer ce comportement "similaire à celui d'un navigateur" dans le module wget ?

99voto

Bruno Pereira Points 70510
wget --content-disposition 'http://spreadsheets.google.com/pub?key=pyj6tScZqmEfbZyl0qjbiRQ&output=xls'

fera l'affaire pour vous.

Il n'est pas encore complètement implémenté et semble parfois présenter des bogues. wget utilisez-le à vos risques et périls.

6voto

Noam Manos Points 279

Vous pouvez essayer d'utiliser bouclette pour télécharger et garder le nom de fichier original :

curl -OJL ${your_url}
  • -O pour nom-distant
  • -J pour nom de l'en-tête distant
  • -L pour l'emplacement

voir Options de la ligne de commande curl .

0voto

Kirschstein Points 5229

Le lien vers Google Docs indique en fait à un script sur le serveur de s'exécuter, en analysant cela dans le fichier que vous voulez. Le fichier, à ma connaissance, n'existe jamais sur le serveur sous la forme d'els, mais est généré au moment de l'exécution lorsque vous le demandez. Ainsi, il n'y a rien à récupérer pour wget.

Pour télécharger le fichier, vous devez utiliser l'API de Google. http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#DownloadingDocs/ .

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