Как вы подключаетесь к серверу EPP (реестру домена) в Node JS?

Я строю проект для управления своими собственными доменными именами (только для целей обучения). Стандарт для взаимодействия с API реестра - использовать их сервер EPP на порту 700 с вашим именем пользователя, паролем и сертификатом SSL на стороне клиента.

Как мне подключиться к этому в узле JS? Должен ли я открыть соединение TLS? Их документация в лучшем случае расплывчата, поэтому, если у кого-то есть опыт в этом, это поможет.

Это также сложное тестирование, потому что я не уверен, что мой ip был правильно внесен в белый список. Хотелось бы увидеть пример фрагмента кода, подключающегося к серверу EPP с именем пользователя, паролем и сертификатом SSL, или, возможно, просто указать мне правильное направление, поскольку я, скорее всего, слишком продуман: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)
})

Но это ничего не делает и не устанавливает связь.

1 ответ

Если я правильно понимаю, RFC EPP может быть подключен по TCP.

Я бы использовал Node.JS API net для создания клиента.

А по документации EPP после подключения вам нужно отправить команду в этом формате, например, логин.

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-epp и epp-reg.

Может быть, я помог куда идти дальше.

Другие вопросы по тегам