https.pm

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PM 代码 · 共 50 行

PM
50
字号
#package LWP::Protocol::https;# $Id: https.pm,v 1.12 2003/10/15 10:35:47 gisle Exp $use strict;use vars qw(@ISA);require LWP::Protocol::http;@ISA = qw(LWP::Protocol::http);sub _check_sock{    my($self, $req, $sock) = @_;    my $check = $req->header("If-SSL-Cert-Subject");    if (defined $check) {	my $cert = $sock->get_peer_certificate ||	    die "Missing SSL certificate";	my $subject = $cert->subject_name;	die "Bad SSL certificate subject: '$subject' !~ /$check/"	    unless $subject =~ /$check/;	$req->remove_header("If-SSL-Cert-Subject");  # don't pass it on    }}sub _get_sock_info{    my $self = shift;    $self->SUPER::_get_sock_info(@_);    my($res, $sock) = @_;    $res->header("Client-SSL-Cipher" => $sock->get_cipher);    my $cert = $sock->get_peer_certificate;    if ($cert) {	$res->header("Client-SSL-Cert-Subject" => $cert->subject_name);	$res->header("Client-SSL-Cert-Issuer" => $cert->issuer_name);    }    if(! eval { $sock->get_peer_verify }) {       $res->header("Client-SSL-Warning" => "Peer certificate not verified");    }}#-----------------------------------------------------------package LWP::Protocol::https::Socket;use vars qw(@ISA);require Net::HTTPS;@ISA = qw(Net::HTTPS LWP::Protocol::http::SocketMethods);1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?