某仮想ホストにて

node な http が以下な出力を確認。

error:  ETIMEOUT, Timeout while contacting DNS servers

エラーメセジを見ても http なプロキシが必要な訳でも無いようだし dig も普通に動く模様。むむむ、と言いつつ resolv.conf 確認したんですがこんなの初めて見た。

$ cat /etc/resolv.conf
domain joyent.us
nameserver 8.8.8.8
nameserver 8.8.4.4
$

無論きちんと動きます。てか、何が悪いんだorz

原因不明orz

ええと、以下なスクリプトを仕込んで動かしてみたら正常動作してる模様。

var https = require('https');

var options = {
  host: 'encrypted.google.com',
  port: 443,
  path: '/',
  method: 'GET'
};

var req = https.request(options, function(res) {
  console.log("statusCode: ", res.statusCode);
  console.log("headers: ", res.headers);

  res.on('data', function(d) {
    process.stdout.write(d);
  });
});
req.end();

req.on('error', function(e) {
  console.error(e);
});

で、実装よくよく見てみたら

  port: 80

ってなってるし (443 にしたけどそれでも動かない)、でも DNS が云々だのにねぇ、と言いつつ以下な記述を発見。

  host: 'https://graph.facebook.com'

これでしたorz

とは言え

まだ例外吐いてますorz
こーゆーケイスだと非同期ではないやりとりがしたいんだけどな。