2016-07-14 12 views
0

"excel to excel"ボタンが付いたページがあります。これをnode.jsで行います。 DevToolsをChromeで使用して、リクエストがポストされた後にページがダウンロードされることを確認しました。再作成する必要があります。node.jsを使用してPOSTリクエストからファイルをダウンロード

chrome screenshot

var request = require('request'), 
fs = require('fs'); 

request.post(
    'http://pif.investfunds.ru/analitics/coefficients/', 
    { form: { rmShowFunds: 'true', 
       strFundName: '', 
       sbxFundID: '', 
       sbxObjFundInvest: '', 
       SR: 'on', 
       Srtn: 'on', 
       date: '2016-06-30', 
       Save2XLS: '1' } }, 
    function (error, response, body) { 
     if (!error && response.statusCode == 200) { 
      console.log(body) 
     } 
    } 
); 

私はどのように、私は request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))

のようなものを使用する必要がありますが、私は理解していないこと、だと思います。

ありがとう、皆さん。

答えて

1

あなたは正しいです。あなたのコードは次のようになります:

request.post(
     'http://pif.investfunds.ru/analitics/coefficients/', 
     { 
      form: { 
       rmShowFunds: 'true', 
       strFundName: '', 
       sbxFundID: '', 
       sbxObjFundInvest: '', 
       SR: 'on', 
       Srtn: 'on', 
       date: '2016-06-30', 
       Save2XLS: '1' 
      } 
     } 
    ) 
    .on('error', function(err) { 
     // error handling 
    }) 
    .on('finish', function(err) { 
     // request is finished 
    }) 
    .pipe(fs.createWriteStream('filename.xls')); 
+0

ありがとう、ファイルは作成されましたが、開くことはできません。私はconsole.logを追加しました( 'File downloaded!'); .on( 'finish')には、イベントは発生しません。 – randomsuffer

+0

'error'イベントは起動しますか?リモートサーバーを制御して、要求が受信した正確な内容を表示しますか? –

+0

いいえ、何も起こりませんでした。いいえ、どうすればいいですか?私はダウンロードしたファイルを開きましたが、いくつかのデータを持っていますが、間違ったフォーマットや何かがあると思います。 – randomsuffer

関連する問題