我試圖通過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請求上發送一個負載體可能會導致一些現有的實現**拒絕這個請求。**「 –