nodejs snmp打印机状态
nodejs snmp printer status
我正在尝试获取 nodejs 应用程序 运行,请求使用 nodejs 的打印机的状态。
到目前为止,我已经尝试使用 "net-snmp" 但没有成功。
问题开始使用 oid (iso.3.6.1.2.1.43.8.2.1.12.1.1)。
如果我使用 'iso.3.6.1.2.1.43.8.2.1.12.1.1' 或 '.3.6.1.2.1.43.8.2.1.12.1.1'
我会得到 "Error: argument is not a valid OID string".
如果我使用“3.6.1.2.1.43.8.2.1.12.1.1”
我得到 "RequestFailedError: NoSuchName: 3.6.1.2.1.43.8.2.1.12.1.1".
var snmp = require('net-snmp');
var oids = [".3.6.1.2.1.43.8.2.1.12.1.1"];
var session = snmp.createSession ("w.x.y.z", "public");
session.get (oids, function (error, varbinds) {
if (error) {
console.error (error);
} else {
for (var i = 0; i < varbinds.length; i++)
if (snmp.isVarbindError (varbinds[i]))
console.error (snmp.varbindError (varbinds[i]))
else
console.log (varbinds[i].oid + " = " + varbinds[i].value);
}
});
snmpwalk 将输出:
snmpget -v 2c -c public w.x.y.z iso.3.6.1.2.1.43.8.2.1.12.1.1
iso.3.6.1.2.1.43.8.2.1.12.1.1 = 字符串:“24 毫米直径/0.94\”直径
有没有人知道如何解决这个问题,也许还有解决方法。
如果我使用 snmp-native,我会得到类似的错误。
非常感谢Gambit的支持!
只需输入“1”而不是 "iso"。
var snmp = require('net-snmp');
//wrong: var oids = ["iso.3.6.1.2.1.43.8.2.1.12.1.1"];
// 正确
var oids = ["1.3.6.1.2.1.43.8.2.1.12.1.1"];
var session = snmp.createSession ("w.x.y.z", "public");
session.get (oids, function (error, varbinds) {
if (error) {
console.error (error);
} else {
for (var i = 0; i < varbinds.length; i++)
if (snmp.isVarbindError (varbinds[i]))
console.error (snmp.varbindError (varbinds[i]))
else
console.log (varbinds[i].oid + " = " + varbinds[i].value);
}
})
我正在尝试获取 nodejs 应用程序 运行,请求使用 nodejs 的打印机的状态。 到目前为止,我已经尝试使用 "net-snmp" 但没有成功。
问题开始使用 oid (iso.3.6.1.2.1.43.8.2.1.12.1.1)。
如果我使用 'iso.3.6.1.2.1.43.8.2.1.12.1.1' 或 '.3.6.1.2.1.43.8.2.1.12.1.1' 我会得到 "Error: argument is not a valid OID string".
如果我使用“3.6.1.2.1.43.8.2.1.12.1.1” 我得到 "RequestFailedError: NoSuchName: 3.6.1.2.1.43.8.2.1.12.1.1".
var snmp = require('net-snmp');
var oids = [".3.6.1.2.1.43.8.2.1.12.1.1"];
var session = snmp.createSession ("w.x.y.z", "public");
session.get (oids, function (error, varbinds) {
if (error) {
console.error (error);
} else {
for (var i = 0; i < varbinds.length; i++)
if (snmp.isVarbindError (varbinds[i]))
console.error (snmp.varbindError (varbinds[i]))
else
console.log (varbinds[i].oid + " = " + varbinds[i].value);
}
});
snmpwalk 将输出: snmpget -v 2c -c public w.x.y.z iso.3.6.1.2.1.43.8.2.1.12.1.1 iso.3.6.1.2.1.43.8.2.1.12.1.1 = 字符串:“24 毫米直径/0.94\”直径
有没有人知道如何解决这个问题,也许还有解决方法。 如果我使用 snmp-native,我会得到类似的错误。
非常感谢Gambit的支持!
只需输入“1”而不是 "iso"。
var snmp = require('net-snmp');
//wrong: var oids = ["iso.3.6.1.2.1.43.8.2.1.12.1.1"];
// 正确
var oids = ["1.3.6.1.2.1.43.8.2.1.12.1.1"];
var session = snmp.createSession ("w.x.y.z", "public");
session.get (oids, function (error, varbinds) {
if (error) {
console.error (error);
} else {
for (var i = 0; i < varbinds.length; i++)
if (snmp.isVarbindError (varbinds[i]))
console.error (snmp.varbindError (varbinds[i]))
else
console.log (varbinds[i].oid + " = " + varbinds[i].value);
}
})