我遇到了perl screenscraper到HTTPS站點的問題。 在調試時,我跑了以下內容:perl客戶端 - SSL-警告:未驗證對等證書
print $res->headers_as_string;
,並在輸出中,我有以下行:
Client-SSL-Warning: Peer certificate not verified
有沒有一種方法可以讓我自動接受此證書,或者是不問題?
#!/usr/bin/perl
use LWP::UserAgent;
use Crypt::SSLeay::CTX;
use Crypt::SSLeay::Conn;
use Crypt::SSLeay::X509;
use LWP::Simple qw(get);
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET => 'https://vzw-cat.sun4.lightsurf.net/vzwcampaignadmin/');
my $res = $ua->request($req);
print $res->headers_as_string;
輸出:
Cache-Control: no-cache
Connection: close
Date: Tue, 01 Jun 2010 19:28:08 GMT
Pragma: No-cache
Server: Apache
Content-Type: text/html
Expires: Wed, 31 Dec 1969 16:00:00 PST
Client-Date: Tue, 01 Jun 2010 19:28:09 GMT
Client-Peer: 64.152.68.114:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
Client-SSL-Cert-Subject: /C=US/ST=Massachusetts/L=Boston/O=verizon wireless/OU=TERMS OF USE AT WWW.VERISIGN.COM/RPA (C)00/CN=PSMSADMIN.VZW.COM
Client-SSL-Cipher: DHE-RSA-AES256-SHA
Client-SSL-Warning: Peer certificate not verified
Client-Transfer-Encoding: chunked
Link: <css/vtext_style.css>; rel="stylesheet"; type="text/css"
Set-Cookie: JSESSIONID=DE6C99EA2F3DD1D4DF31456B94F16C90.vz3; Path=/vzwcampaignadmin; Secure
Title: Verizon Wireless - Campaign Administrator
UPDATE: 我添加
$ENV{HTTPS_CA_FILE} = 'certs/PSMSADMIN.VZW.COM';
$ENV{HTTPS_CA_DIR} = 'certs/';
如下建議。我也打開調試:
$ENV{HTTPS_DEBUG} = 1;
這裏是我的輸出:
SSL_connect:before/connect initialization
SSL_connect:SSLv3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL3 alert write:fatal:bad certificate
SSL_connect:error in SSLv3 read server certificate B
SSL_connect:before/connect initialization
SSL_connect:SSLv2 write client hello A
SSL_connect:error in SSLv2 read server hello B
content: 500 SSL negotiation failed: error:1407E086:SSL routines:SSL2_SET_CERTIFICATE:certificate verify failed
我試圖忽略失敗,但問題是,這是頁面上的唯一的事情了,所以沒有登錄形式或任何東西。
你可以發佈你的輸出嗎?我得到了200行,我認爲是正確的文件。是的,標題有一個警告,但你能澄清這是如何不利地影響你的程序的行爲? – jasonmp85 2010-06-01 19:13:04
問題是我無法登錄。提交憑證後,它會返回到登錄頁面。 – Jeremey 2010-06-01 19:32:58
您可能想要啓用HTTP調試級別。我不確定這是否是SSL問題。你能輸出狀態碼和身體嗎?我顯然沒有證書來測試這個:-D – jasonmp85 2010-06-01 19:47:13