我是Python的新手,我有一个现有的脚本,它被模拟为响应get请求的SNMP代理。它具有以下功能:
- 收集SNMP获取请求
- 比较请求的长度
- 发送一个已定义的字符串作为响应
这是意料之中的事。
现在我需要增强这个脚本,以确保它检查在请求中发送的OID,并根据OID发送不同的响应。有什么建议吗?
这取决于OID的用途。如果你有一个像1.2.3.4
这样的字符串,那么你可以直接比较这些字符串。但是,将OID拆分为整数列表更有用:
>>> oidstr = '1.2.3.4'
>>> oid = [int(x) for x in oidstr.split('.')]
您也可以比较列表的相等性。
如果你有一个像b'x01x02x03x04'
这样的二进制字符串,那么你可以使用类似的理解将其转换为整数列表——oid = [x for x in oidbin]
,因为二进制字符串是可迭代的。