使用 pysnmp 检索打印机碳粉信息
Retrieving printer toner information with pysnmp
我正在尝试从联网打印机检索打印机碳粉信息。
我找到了以下打印机耗材的参考记录 -> http://oidref.com/1.3.6.1.2.1.43.11 (OID = prtMarkerSupplies)
我尝试在以下代码中集成 OID:
from pysnmp.hlapi import *
iterator = getCmd(
SnmpEngine(),
CommunityData('public', mpModel=0),
UdpTransportTarget(('here goes ip of a printer', 161)),
ContextData(),
ObjectType(ObjectIdentity('SNMPv2-MIB', "prtMarkerSupplies", 0))
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
以上代码returns:
pysnmp.smi.error.SmiError: No symbol SNMPv2-MIB::prtMarkerSupplies at <pysnmp.smi.builder.MibBuilder object at 0x000001F8D1FC3D00>
如何使用 SNMP 协议和 pysnmp 检索碳粉信息?
检索系统信息按预期工作:
ObjectType(ObjectIdentity('SNMPv2-MIB', "sysDescr", 0))
我使用了以下线程的答案 ->
我没有遍历 getCmd,而是使用 SNMP 遍历遍历所有 OID。
我正在尝试从联网打印机检索打印机碳粉信息。
我找到了以下打印机耗材的参考记录 -> http://oidref.com/1.3.6.1.2.1.43.11 (OID = prtMarkerSupplies)
我尝试在以下代码中集成 OID:
from pysnmp.hlapi import *
iterator = getCmd(
SnmpEngine(),
CommunityData('public', mpModel=0),
UdpTransportTarget(('here goes ip of a printer', 161)),
ContextData(),
ObjectType(ObjectIdentity('SNMPv2-MIB', "prtMarkerSupplies", 0))
)
errorIndication, errorStatus, errorIndex, varBinds = next(iterator)
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
以上代码returns:
pysnmp.smi.error.SmiError: No symbol SNMPv2-MIB::prtMarkerSupplies at <pysnmp.smi.builder.MibBuilder object at 0x000001F8D1FC3D00>
如何使用 SNMP 协议和 pysnmp 检索碳粉信息?
检索系统信息按预期工作:
ObjectType(ObjectIdentity('SNMPv2-MIB', "sysDescr", 0))
我使用了以下线程的答案 ->
我没有遍历 getCmd,而是使用 SNMP 遍历遍历所有 OID。