0

我正在使用 Net::Netconf::Manager RPC 命令查询设备。在 RPC 命令中,我应该发送一个参数列表,所以我在散列中添加查询参数。一个这样的论点是verbosity_level

请注意我_在这个参数中使用了下划线。当我打印哈希时,它仍然是下划线。

但是当我打印发送到设备的 XML RPC 请求时,参数更改为verbosity-level

<verbosity-level>abcd</verbosity-level>

代替

<verbosity_level>abcd</verbosity_level>

所以设备说它不知道这样的论点。

为什么下划线被转换为连字符?

4

1 回答 1

2

执行此操作的代码位于 Net/Netconf/Device.pm. 这是一个简单的替换,没有评论来解释为什么它在那里

我能想到的就是注释掉那行

($tag = $field) =~ s/_/-/g

并将其替换为

$tag = $field

这应该让事情顺利进行。同时,您或许可以通过netconf-support@juniper.netJuniper Networks Perl 团队发送电子邮件并询问相关信息。如果你这样做,请告诉我们回复

于 2017-10-21T18:30:36.810 回答