2017-09-28 12 views
0

node.jsアプリケーションで、https api呼び出しを行いたいとします。 httpsモジュールで試していますが、動作していませんが、requestモジュールを試してみてください。node.jsでHttps要求が機能しない

私はこの

problem with request: getaddrinfo ENOTFOUND myserver/platform-api/v1 
myserver/platform-api/v1:80 

これは、それが最初のもので動作しない理由を私は理解することはできません

request("https://myserver/platform-api/v1/projects?access_token=38472", function(error, response, body) { 
    if (error) return console.log(error); 
    //console.log(error); 
    //console.log(response); 
    console.log(body); 
}); 

の作品を入手

var options = { 
    host : 'myserver/platform-api/v1', 
    port : 80, 
    path : '/projects?access_token=38472', 
    method : 'GET', 
    headers : { 
     'Accept' : 'application/json' 
    } 
}; 
var req = https.request(options, function(res) { 
    res.on('data', function(chunk) { 
     console.log(chunk); 
    }); 
}); 
req.on('error', function(e) { 
    console.log(e); 
    console.log('problem with request:', e.message); 
}); 
req.end(); 

に動作しません。なぜ誰が知っていますか?

おかげ

+0

オプションをパラメータとして渡す代わりに、options.pathを渡すことができますか? –

答えて

1

EDITは、同様にポート443に切り替えました。


hostにはパスの一部が含まれているようですか? (hostでちょうどホストを離れ、pathへのパスを移動する)の代わりにこれを試してみてください:

var options = { 
    host : 'myserver', 
    port : 443, 
    path : '/platform-api/v1/projects?access_token=38472', 
    method : 'GET', 
    headers : { 
     'Accept' : 'application/json' 
    } 
}; 
+0

なぜオブジェクト内のすべてを渡しても、それらのプロパティはすべて別の場所で定義されているわけではありませんか? –

+0

あなたが何を求めているのか分かりません。 'port'のデフォルトは443であり、省略することができます。それはあなたが意味することですか? – smarx

+0

ありがとう、それはポートであり、私はホスト内のパスの一部を持っていた。 – omega

2

また、あなたは通常、HTTPSポートではないポート80を、ヒットしています。

+0

okありがとう、私はそれを考え出しました、それはポート443であり、私はホストのパスの一部を持っていました。 – omega

+0

ようこそ。助けてうれしい! – theGleep

関連する問題