[英]Telnet connection with JavaScript
我正在使用 Numato 中继,我尝试使用带有 net.Socket 的 javascript 通过 telnet 连接到它,然后发送命令。
但是,当尝试连接时,它拒绝用户名和密码。 问题是输入用户名后输入了奇怪的字符。
在代码中,您可以看到我尝试以各种方式查看输出,但没有结果。
如果有人知道原因或使用过 Numato 模块,我将不胜感激。 这是代码及其输出:
var net = require('net');
var client = new net.Socket();
client.connect(23, '192.168.1.100', function() {
console.log('Connected');
});
client.on('connect', function(){
client.write('admin\n')
client.write('admin\n')
// client.write('admin\n' + 'admin\n')
})
client.on('data', function(data) {
console.log(''+data)
// var datos = []
// datos.push(data)
// datos.push(data.toJSON)
// console.log(datos)
// client.destroy(); // kill client after server's response
});
client.on('close', function() {
console.log('Connection closed');
});
根据Numato 文档,此通道需要 ASCII 字符编码,而不是您发送的 UTF 编码字符串。
改变:
client.on('connect', function(){
client.write('admin\n')
client.write('admin\n')
// client.write('admin\n' + 'admin\n')
})
到:
client.on('connect', function(){
client.write('admin\n', 'ascii')
client.write('admin\n', 'ascii')
// client.write('admin\n' + 'admin\n')
})
注意:eol 的回答可能也适用于此。 如果您使用的是 Windows(此处假设),则您将同时需要\\r\\n
。
当我尝试通过 NodeJS 与 telnet 服务器通信时,我遇到了类似的问题。 解决我的问题是在换行符之前使用回车符:
client.write('admin\r\n');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.