Node.jsのhttps.get()

HTTPモジュールのhttp.get()と違いHTTPSモジュールのhttps.get()は第一引数にURLが取れない。HTTPモジュールと同じようにURLを指定するとECONNREFUSEDになる。ソース読んだら文字列かどうかチェックしてURLモジュールでパースする処理HTTPSモジュールにはなかった。1時間くらいハマりました!

#!/usr/bin/env node

var https = require('https');
var url = require('url');

https.get(url.parse('https://example.com/'), function (response) {
  response.on('data', function (chunk) {
    process.stdout.write(chunk);
  });
}).on('error', function (error) {
  throw error;
});

とかURLモジュールでパースしてから渡すだけで問題無さそう。


Perlで書いてたオレオレ・スクリプトをNode.jsで書きなおすという修行を行なっている。欲しいモジュールが見つからない。見つかっても使い方を理解するまで長い。のでスクリプト書き直すまでが長くて心が折れそう。