2017-09-05 72 views
0

有没有办法让express.js服务器总是使用dns查找IPV4地址而不是IPv4和IPV6地址?node.js express dns lookup to use ipv4 always

就像我们通过设置参数java.net.preferIPv4Stack =真

我期待传出请求做到这一点,当我的外接正在出站服务调用做到这一点在Java的JVM。我的应用使用request npm package,它使用net npm package,它使用dns npm package。 DNS套件有一个选项,可以设置4或6的IP家庭。我认为这将做我想要的,如果我将它设置为4.

现在的问题是,如何从我的应用程序传递此选项在运行时应用于此npm包。

+0

当你指定服务器侦听端口,你可以指定的IPv4'XXXX'就这样'app.listen(5000, '127.0.0.1');' –

+0

@SatishPatel,谢谢你的回应。我已经更新了我的问题。对不清楚的道歉。 – mandy

回答

0

我不得不这样做,强制DNS查找只查找IPv4地址而不查找IPv6地址。

import Request from 'request'; 

export class SoapUtility extends Utility 
{ 

    constructor(options) { 
     super(); 
     otherCode = otherCode; 

     this.request = Request; 
    }; 

    requestMainframe(args, callback) 
    { 
    this.request.post({ 
     url: this.endpoints.userLookup, 
     method: 'POST', 
     family : 4, 
     headers: { 
      'Content-Type': 'text/xml', 
      "Authorization": `Basic ${creds}` 
     }, 
     body: requestBody, 
     rejectUnauthorized: false, 
    }, (error, response, body) => { 
      callback(error, null); 
    }); 
    } 
} 

这里是documentation from npm requestDNS lookup details