案例1: 我的服務器(遠程訪問沒有互聯網訪問),它具有到443端口的遠程服務器的連接。使用Web服務URL,我需要發送Web服務請求並接收響應。我能夠使用但無法接收來自遠程服務器的響應發送請求。 代碼: 這是我的代碼我使用的發送和接收的HTTPS請求使用LWP劑在PerlLWP Useragent中的狀態讀取失敗
use Data::Dumper;
use LWP::UserAgent;
use HTTP::Status;
use HTTP::Response;
use HTTP::Request::Common;
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
$LWPUserAgent = new LWP::UserAgent('timeout' => '20');
$LWPUserAgent->ssl_opts('verify_hostname' => 0) ;
$WEB_URL="https://webserviceurl.com/Request?Arg1|Arg2|Arg3|Arg4";
$Response = $LWPUserAgent->get($WEB_URL);
print Dumper $Response ;
我印刷使用Data ::自卸車並得到以下響應的響應。
$VAR1 = bless({
'_content' => 'Status read failed: at /usr/share/perl5/Net/HTTP/Methods.pm line 269.',
'_rc' => 500,
'_headers' => bless({
'client-warning' => 'Internal response',
'client-date' => 'Tue, 13 Oct 2015 15:13:21 GMT',
'content-type' => 'text/plain'
}, 'HTTP::Headers'),
'_msg' => 'Status read failed: ',
'_request' => bless({
'_content' => '',
'_uri' => bless(do{\(my $o = 'https://webserviceurl.com/Request?Arg1%7Arg2%7Arg3%7Arg4')}, 'URI::https'),
'_headers' => bless({
'user-agent' => 'libwww-perl/6.04'
}, 'HTTP::Headers'),
'_method' => 'GET'
}, 'HTTP::Request')
}, 'HTTP::Response');
我在谷歌搜索了更多關於這個,我無法找到任何關於此的想法。 我的服務器信息是: 操作系統 - wheezy 7.2 64bit。 perl 5,版本14,subversion 2(v5.14.2)爲x86_64-linux-gnu-thread-multi生成 LWP :: UserAgent - 6.04 HTTP :: Response,HTTP :: Status,HTTP :: Request :: Common版本是 - 6.03。 案例2:我的服務器(在家中和互聯網訪問)具有連接使用我的Internet連接的靜態IP。使用我的代理嘗試用下面的一段代碼運行上面的代碼。
$ LWPUserAgent-> proxy('https','http://192.168.12.10:3128');
I am able to send and receive the https requests using LWP agent and working fine.
My server information are:
OS - squeeze (6.0.6) 32 bit
perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
LWP::UserAgent - 6.13
HTTP::Response - 5.836
HTTP::Status - 5.817
HTTP::Request::Common - 5.824
I confused of the these things.
1.OS problem
2.Package versions problem
3.whether is it a bug in wheezy
If any one can provide me the correct direction to resolve this it would be highly appreciated.
你有什麼版本的Net :: HTTP?該錯誤消息甚至不存在於最新的錯誤消息中。 – ikegami
考慮到它是perl'5.10' - 這是6歲和生命的結束,我想這是一個不是太新版本的Net :: HTTP要麼。 – Sobrique
Net :: HTTP的版本是6.03 –