Comment faire pour télécharger un fichier csv à l'aide de PhantomJS

Quand je suis à la navigation sur un site web à l'aide d'Un navigateur (Chrome) et quand je clique sur un lien sur le site web de l'Un, Chrome imediatelly téléchargements rapport sous forme de fichier CSV.

Quand j'ai vérifié un serveur en-têtes de réponse j'obtiens les résultats suivants:

Cache-Control:private,max-age=31536000
Connection:Keep-Alive
Content-Disposition:attachment; filename="report.csv"
Content-Encoding:gzip
Content-Language:de-DE
Content-Type:text/csv; charset=UTF-8
Date:Wed, 22 Jul 2015 12:44:30 GMT
Expires:Thu, 21 Jul 2016 12:44:30 GMT
Keep-Alive:timeout=15, max=75
Pragma:cache
Server:Apache
Transfer-Encoding:chunked
Vary:Accept-Encoding

Maintenant, je veux télécharger et analyser ce fichier à l'aide de PhantomJS. J'ai mis page onResourceReceived auditeur pour voir si Phantom recevra/télécharger le fichier.

clientRequests.phantomPage.onResourceReceived = function(response) {
    console.log('Response (#' + response.id + ', stage "' + response.stage + '"): ' + JSON.stringify(response));
};

Quand je fais le Fantôme de la demande de téléchargement d'un fichier (ce est la page.open ("URL DU FICHIER")), je peux voir dans Phantom journal que le fichier est téléchargé. Voici les logs:

"contentType": "text/csv; charset=UTF-8",
    "headers": {
        "name": "Date",
        "value": "Wed, 22 Jul 2015 12:57:41 GMT"
    },
    "name": "Content-Disposition",
    "value": "attachment; filename=\"report.csv\"",
    "status":200,"statusText":"OK"

J'ai reçu le fichier et son contenu, mais comment accéder à un fichier de données? Quand j'ai l'impression actuelle PhantomJS page objet, je reçois le code HTML de la page et je n'en veux pas, je veux fichier CSV, j'ai besoin d'analyser à l'aide de JavaScript.

double possible de le téléchargement d'un fichier qui vient comme une pièce jointe dans un message de demande de réponse dans PhantomJs
Wtf homme, si Im dire à mes collègues pour upvote chacun de mes post, j'ai plus de 600 points dans ces quelques années sur StackOverflow et d'autres réseaux. J'ai également été surpris quand j'ai vu 3 upvotes dans une heure, mais c'est bon c'est pas mal. Si vous étudier cette problématique, trop de gens sont en face du même problème et je veux ici pour voir si quelqu'un a trouvé une bonne solution.
Après avoir écrit mon commentaire, j'ai regardé ton post histoire et a trouvé qu'il est peu probable que le vote-la fraude est en jeu ici. Cependant, je trouve toujours étrange que vous avez reçu 3 upvotes en moins de 10 minutes dans de telles faible voix balises [phantomjs] et [casperjs]. Peut-être à cause de [http], mais j'ai quelque doute.
Concernant le doublon, j'ai attrapé le mauvais lien, mais il contient toujours une réponse viable à votre question, mais il est enveloppé dans CasperJS code. Je parle page.onFileDownload de la PhantomJS fourche.
Après des jours et des jours d'enquête, ce qui est presque impossible à faire avec PhantomJS. Il y a des solutions, mais il n'y a pas si élégant. Après juste de passer 3 heures sur CasperJS, je l'ai fait, donc utilisation CasperJS non seulement en raison de ce problème, CasperJS est un peu plus intuitive et plus facile à travailler.

OriginalL'auteur MrD | 2015-07-22