1

我正在构建一个项目来管理我自己的域名(仅用于学习目的)。与注册表 API 接口的标准是在客户端使用您的用户名、密码和 SSL 证书在端口 700 上的 EPP 服务器。

如何在节点 js 中连接到这个?我应该打开 TLS 连接吗?他们的文档充其量是模糊的,所以如果有人有这样做的经验,那会有所帮助。

这也很难测试,因为我不确定我的 ip 是否被正确列入白名单。希望看到一个使用用户名、密码和 SSL 证书连接到 EPP 服务器的示例代码片段,或者可能只是指出我正确的方向,因为我很可能想多了:p。

这是我从节点中可以找到的唯一在线示例开始找到的地方。

var fs = require('fs')
var tls = require('tls')

var options = {
  cert: fs.readFileSync('cert.pem'),
  passphrase: 'passphrase',
  username: 'username', // ?
}

var stream = tls.connect(700, 'example.com', options);
  stream.setEncoding('utf8')
  stream.on('secureConnect', function() {
  console.log('client connected')
})
stream.on('data', function(data) {
  console.log(data)
})

但这无济于事,也不会建立联系。

4

1 回答 1

2

如果我理解正确RFC EPP 可以通过 TCP 连接

我会使用Node.JS API 网络来创建客户端。

通过连接后的EPP 文档,您需要以这种格式发送命令,例如 login

var host = 'example.com';
var port = 700;
var command = '{{xml_command}}';

var client = new net.Socket();
client.connect(port, host, function() {
    console.log('Connected');
    client.write(command);
});

client.on('data', function(data) {
    console.log('Received: ' + data);
    client.destroy();
});

client.on('close', function() {
    console.log('Connection closed');
});

作为替代方案,我会尝试node-eppepp-reg

也许我帮助了下一步去哪里。

于 2017-02-08T17:47:54.650 回答