2024-09-30 12:15:32 发布
网友
根据文档,setCmdvarBinds引用是一系列托管对象。但是,我试图传递一个列表[(oid0, value0), (oid1, value1)]或元组{}或集合set([(oid0, value0), (oid1, value1)]),所有这些都失败了,错误是“太多的值无法解包”。我需要能够发送一个带有多个varbinds的set请求。我可以成功地将每个托管对象,例如(oid0,value0)作为单独的setCmd发送。有什么办法吗?在
setCmd
[(oid0, value0), (oid1, value1)]
set([(oid0, value0), (oid1, value1)])
如on the examples page所示,向setCmd()传递可变数量的(oid,value)元组是向请求消息添加多个var绑定的一种方法。在
以下代码将生成和发送具有三个var绑定的SNMP SET消息:
cmdGen.setCmd( cmdgen.CommunityData('public'), cmdgen.UdpTransportTarget(('localhost', 161)), ('1.3.6.1.2.1.1.2.0', rfc1902.ObjectName('1.3.6.1.4.1.20408.1.1')), ('1.3.6.1.2.1.1.2.0', '1.3.6.1.4.1.20408.1.1'), ('1.3.6.1.2.1.1.5.0', rfc1902.OctetString('new system name')) )
试试星号
abc = ((oid0, value0), (oid1, value1), (oid2, value2)) errorIndication, errorStatus, errorIndex, varBinds = cmdgen.CommandGenerator().setCmd( self.authData, cmdgen.UdpTransportTarget((host_addr, 161)), *abc)
如on the examples page所示,向setCmd()传递可变数量的(oid,value)元组是向请求消息添加多个var绑定的一种方法。在
以下代码将生成和发送具有三个var绑定的SNMP SET消息:
试试星号
相关问题 更多 >
编程相关推荐