2014-11-27 10 views
4

Google에서 콘텐츠를 가져 오는 데 사용되는 스크립트가 있습니다. 그것은 아주 잘 작동하지만 지금은 그렇지 않습니다. stackexchange에 대한 게시물을 찾았지만 라이브러리 버전을 업그레이드했지만 여전히 작동하지 않습니다. I cannot Connect to any HTTPS site using LWP::UserAgentPerl LWP :: UserAgent가 HTTPS에 연결할 수 없습니다.

저는 Linux 컴퓨터 (telnet googleapis.com 443이 잘 작동 함)에서 연결되어 있습니다.

#!/usr/bin/perl 


use CGI 'param'; 
use CGI::Carp 'fatalsToBrowser'; 
use DBI; 
    require LWP::UserAgent; 
    use LWP::Protocol::https; 
    use URI::Escape; 
    $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0; 
    $access_token='xxx'; 
    print "LWP::UserAgent: ".LWP::UserAgent->VERSION,"\n"; 
    print "LWP::Protocol::https: ".LWP::Protocol::https->VERSION,"\n"; 
    $url="https://www.googleapis.com/oauth2/v1/userinfo?access_token=$access_token"; 
     my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 }); 
$ua->agent('Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'); 
     $ua->timeout(10); 
     $ua->env_proxy; 
     my $response = $ua->get("$url"); 
     if ($response->is_success) { 
     print "Am adus cu succes contul de la google"; 
      $text=$response->decoded_content; # or whatever 
     } 
     else { 
      print "Response error:".$response->status_line."\n"; 

     } 


1; 

오류 이 갑자기 발생하는 이유 (500)는

어떤 생각을 www.googleapis.com:443에 연결할 수 없습니다? 어떤 경우에는

+0

루트로 실행에 CentOS에 패키지 이름하여 설치하는 LWP :: 해당 UserAgent 6.06 및 LWP :: 프로토콜 : HTTPS 6.06 – Adrian

+1

"여전히 작동하지 않습니다."는 문제에 대한 끔찍한 설명입니다. 예상치 못한 행동이 정확히 무엇입니까? 오류 메시지가 있습니까? –

+4

'perl -MIO :: Socket :: SSL = debug4'로 스크립트를 호출하여 SSL 디버깅을 활성화하고 여기에 출력을 추가하십시오. 또한 ssl_verify_hostname은 신뢰할 수있는 CA에 대한 인증서 확인이 아니라 인증서에 대한 이름 확인에만 관심이 있습니다. 그것은'SSL_verify_mode' 일 것입니다. –

답변

2

, 당신은 SSLv3에 당신이 CPAN 또는 패키지 이름 perl-LWP-Protocol-https로를 사용하여 LWP::Protocol::https를 설치해야

my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0, SSL_version => 'SSLv3' }); 
0

을 강제 할 필요가있다. 나를 위해 일한 무엇

, 내가 가지고, 내가 얘기를 깜빡 했네요
yum install perl-LWP-Protocol-https

After that https links are opened as they should, with out an empty response.

관련 문제