"Net::Netconf::Manager" 将 RPC 请求中的下划线转换为连字符
"Net::Netconf::Manager" converts underscore in RPC request to hyphen
我正在使用
Net::Netconf::Manager
使用 RPC 命令查询设备。在 RPC 命令中,我应该发送一个参数列表,所以我在散列中添加查询参数。其中一个论点是 verbosity_level
请注意,我在此参数中使用了下划线 _
。当我打印散列时,它仍然是下划线。
但是当我打印发送到设备的 XML RPC 请求时,参数更改为 verbosity-level
<verbosity-level>abcd</verbosity-level>
而不是
<verbosity_level>abcd</verbosity_level>
所以设备说它不知道这样的参数。
为什么下划线会转换为连字符?
执行此操作的代码在第 492 行
Net/Netconf/Device.pm
。这是一个简单的替换,没有评论解释为什么它在那里
我能想到的就是把那行注释掉
($tag = $field) =~ s/_/-/g
并将其替换为
$tag = $field
这应该会让事情顺利进行。同时,您可以发送电子邮件至 Juniper Networks Perl Team netconf-support@juniper.net 并询问相关事宜。如果您这样做,请让我们知道回复
我正在使用
Net::Netconf::Manager
使用 RPC 命令查询设备。在 RPC 命令中,我应该发送一个参数列表,所以我在散列中添加查询参数。其中一个论点是 verbosity_level
请注意,我在此参数中使用了下划线 _
。当我打印散列时,它仍然是下划线。
但是当我打印发送到设备的 XML RPC 请求时,参数更改为 verbosity-level
<verbosity-level>abcd</verbosity-level>
而不是
<verbosity_level>abcd</verbosity_level>
所以设备说它不知道这样的参数。
为什么下划线会转换为连字符?
执行此操作的代码在第 492 行
Net/Netconf/Device.pm
。这是一个简单的替换,没有评论解释为什么它在那里
我能想到的就是把那行注释掉
($tag = $field) =~ s/_/-/g
并将其替换为
$tag = $field
这应该会让事情顺利进行。同时,您可以发送电子邮件至 Juniper Networks Perl Team netconf-support@juniper.net 并询问相关事宜。如果您这样做,请让我们知道回复