我试图通过HTTPS GET从远程网络设备检索接口统计数据。该脚本正在工作,但是当响应大于4098个字符时,连接将挂起60秒。请帮忙 !我正在慢慢发疯。Perl - LWP :: UserAgent;响应慢 - 超过4096个字符
my $interface_getAll = HTTP::Request->new(GET => $URL);
$interface_getAll->content('session_id=' . $sessionID . '&format=json&method=network.interface.fetchAllStatistics');
my $res = $ua->request($interface_getAll);
$interface_getAll_rData = $res->content;
my $InterfaceValues = decode_json($interface_getAll_rData);
print Dumper($InterfaceValues);
我无法在使用curl或wget时复制此问题,我立即得到响应。远程设备上的API仅响应GET请求。如果您认为我的代码无效,我愿意接受任何建议。
请求URL例子/格式:
https://192.168.99.51:443/services/rest/V2.1/session_id=b121c16aa0c0361e9bebe5bd67e60a&format=json&method=network.interface.fetchStatistics
您是否再次测试另一个远程实例,以确定问题出在客户端?或者您是否尝试使用curl或wget获取数据? – syck
带有内容的GET不仅很奇怪,而且明显无效。您可能需要有POST或PUT请求。 –
@ikegami:在这方面,较新的RFC 7231更加清晰:https://tools.ietf.org/html/rfc7231#section-4.3.1 - “GET请求消息中的有效载荷具有**没有定义的语义* *;在GET请求上发送一个负载体可能会导致一些现有的实现**拒绝这个请求。**“ –