2017-08-31 351 views
1

我想在节点中进行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

爱可信将返回的响应头和你的请求的主体,ussualy如果没有指定一个你不能从报头的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已经在axios呼叫中解决了,我可以从那里获得IP ..如果可能,我想避免额外的dns呼叫。 –

+0

其实你可以并行运行2个呼叫,然后你不会浪费任何时间... –

+0

是的,那么你必须同步这两个呼叫,因为我需要同时响应和IP地址登录。你的解决方案可以工作,但它可能会使代码复杂一点。在我这样做之前,我希望有人能够确认axios是否已将它埋在我可以使用的响应中的某个地方。 –

相关问题