2015-12-08 4 views
0

J'ai besoin d'une tâche importante pour télécharger un fichier hébergé sur https. La demande aura certains paramètres, quelque chose comme:Grunt tâche pour le téléchargement de fichier avec https

https://server.com/services/download?what=someFile&version=1

J'ai essayé d'utiliser grunt-downloadfile mais tout ce que je reçois est ECONNREFUSED. Je sais que l'URL que j'utilise est correcte, car je peux simplement la coller dans un navigateur et cela fonctionne.

Comment pourriez-vous résoudre ce problème? J'envisage d'écrire moi-même le script du nœud grunt-execute, mais c'est comme réinventer la roue.

+0

Puis-je voir le code que vous avez essayé? –

+0

Je ne veux pas voir le code de l'API J'aimerais voir le code relatif du fichier grunt. Enregistrez-vous la tâche de téléchargement à exécuter avec la commande grunt? –

+0

Oui, il n'y a aucun problème avec l'exécution de la tâche. Si je mets http ça marche (sur un site aléatoire) si je mets https ça ne marche pas. – bjedrzejewski

Répondre

1

Voici un exemple de code de travail avec grunt-http-download bibliothèque, comme vous pouvez le voir il y a une https et il fonctionne très bien:

'use strict'; 

module.exports = function(grunt) { 

    grunt.initConfig({ 
     download: { 
      foo: { 
       src: ['https://nodejs.org/static/images/logos/nodejs-green.png'], 
       dest: '/tmp/' 
      }, 
     } 
    }); 

    require('load-grunt-tasks')(grunt); 

    grunt.loadNpmTasks('grunt-http-download'); 
    grunt.registerTask('default', ['download']); 
}; 

Sortie:

Running "téléchargement: foo" (télécharger) tâche Téléchargement https://nodejs.org/static/images/logos/nodejs-green.png à /tmp/nodejs-green.png ...

Fin du téléchargement https://nodejs.org/static/images/logos/nodejs-green.png.

Terminé, sans erreur.

Il fonctionne avec la bibliothèque grunt-downloadfile aussi:

'use strict'; 

module.exports = function(grunt) { 

    // Project Configuration 
    grunt.initConfig({ 
     downloadfile: { 
      files: [{ 
       url: 'https://nodejs.org/static/images/logos/nodejs-green.png', 
       dest: '/tmp', 
       name: 'test.png' 
      }] 
     }, 
    }); 

    require('load-grunt-tasks')(grunt); 

    grunt.loadNpmTasks('grunt-downloadfile'); 
    grunt.registerTask('default', ['downloadfile']); 
}; 
+0

Semble, comme la bibliothèque qui peut le faire. Je vais l'essayer sous peu et vous le faire savoir! – bjedrzejewski

+0

Cela a fonctionné parfaitement (le premier exemple). Deuxième n'a pas dans mon cas. – bjedrzejewski