2017-08-31 27 views
1

Nodeでaxios呼び出しを行うと、リモートurlの解決されたIPアドレスを取得したいと思います。下記の***のコメントを参照してください。ありがとうございます!ノードからAxios呼び出しでリモートIPアドレスを取得する方法

axios.get('http://www.example.com') 
 
    .then(function (response) { 
 
    // *** How can I get the resolved IP address of www.example.com here 
 
    }) 
 
    .catch(function (error) { 
 
    console.log(error); 
 
    });

+0

リモートサーバーにアクセスできますか(管理していますか)?リモートURLサーバーにアクセスできる場合にのみこれを行うことができます。 HTTPヘッダーにしかアクセスできず、リモートサーバーがヘッダーの一部としてIPアドレスを提供していない限り、アクセスすることはできません。 –

答えて

0

Axiosはあなたにレスポンスヘッダーとリクエストのボディを返します、ussualy 1が指定されていない場合は、ヘッダからIPアドレスを取得することはできませんが、dnsを使用することができますモジュールをnode.js`から取得します。

const dns = require('dns'); 

dns.resolve4('archive.org', (err, addresses) => { 
    if (err) throw err; 
    console.log(`addresses: ${JSON.stringify(addresses)}`); 
}); 
+0

DNSコールはIPを解決するのに少し時間がかかりませんでした。私はIPが既にアクシオスコールで解決されていることを期待していました。私はそこから手を差し伸べることができます。可能であれば、余分なDNSコールを避けたいと思います。 –

+0

実際には2つの通話を同時に実行することができ、時間を無駄にすることはありません。 –

+0

ロギングに同時に応答とIPアドレスが必要なので、2つのコールを同期させる必要があります。あなたの解決策は動作しますが、コードを少し複雑にするかもしれません。私がそれをする前に、私は使用することができる応答のどこかにアキシャルが埋め込まれているかどうかを誰かが確認できることを望んでいます。 –

関連する問題