Как вы подключаетесь к серверу 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.
Может быть, я помог куда идти дальше.