Javascript 如何将IPv6与NodeJS https.request()一起使用
我已经编写了一个程序,用于测试我的团队正在开发的嵌入式设备的RESTAPI。发出https请求的代码如下所示:Javascript 如何将IPv6与NodeJS https.request()一起使用,javascript,node.js,https,request,ipv6,Javascript,Node.js,Https,Request,Ipv6,我已经编写了一个程序,用于测试我的团队正在开发的嵌入式设备的RESTAPI。发出https请求的代码如下所示: var options = { hostname: hostAddress, port: hostPort, path: path, method: methodName, headers: { "Content-Type": "application/json",
var options = {
hostname: hostAddress,
port: hostPort,
path: path,
method: methodName,
headers: {
"Content-Type": "application/json",
"Content-Length": post_data.length
}
};
// Request and callback
var request = https.request(
options,
function onResponse( response ) {
// response code happens in here ...
}
);
当主机地址是IPv4地址时(例如“192.168.1.13”),此代码工作正常。但我们最近在嵌入式设备上增加了IPv6支持,这也需要测试。但是,当主机地址
是IPv6地址时,上述相同代码不起作用
https.request()的文档[here:]没有提到任何关于IPv6的内容。我已尝试对主机地址使用以下每个值,但没有成功
hostAddress = "fe80::9eb6:54ff:fe90:8b70%eth0";
hostAddress = "[fe80::9eb6:54ff:fe90:8b70%eth0]";
hostAddress = "fe80::9eb6:54ff:fe90:8b70";
hostAddress = "[fe80::9eb6:54ff:fe90:8b70]";
我知道IPv6地址是正确的——我从嵌入式系统主机上的ifconfig调用复制并粘贴了它
有人能告诉我这里缺少什么吗?节点版本0.12不支持DNS绑定上的IPv6,而且由于请求
利用了这一点,因此也无法工作
根据,计划在v0.13中实施
更新
截至2015年,这似乎已在主要的nodejs/node项目中实现(node.js和io.js的重新合并)
http = require('http');
server = http.createServer();
server.listen(9000, '::');