관리-도구
편집 파일: live.t
BEGIN { if ( $ENV{NO_NETWORK_TESTING} ) { print "1..0 # SKIP Live tests disabled due to NO_NETWORK_TESTING\n"; exit; } eval { require IO::Socket::INET; my $s = IO::Socket::INET->new( PeerHost => "www.neverssl.com:80", Timeout => 5, ); die "Can't connect: $@" unless $s; }; if ($@) { print "1..0 # SKIP Can't connect to www.neverssl.com\n"; print $@; exit; } } use strict; use warnings; use Test::More; plan tests => 6; use Net::HTTP; my $s = Net::HTTP->new( Host => "www.neverssl.com", KeepAlive => 1, Timeout => 15, PeerHTTPVersion => "1.1", MaxLineLength => 512 ) || die "$@"; for ( 1 .. 2 ) { $s->write_request( GET => "/", 'User-Agent' => 'Mozilla/5.0', 'Accept-Language' => 'no,en', Accept => '*/*' ); my ( $code, $mess, %h ) = $s->read_response_headers; print "# ----------------------------\n"; print "# $code $mess\n"; for ( sort keys %h ) { print "# $_: $h{$_}\n"; } print "#\n"; my $buf; while (1) { my $tmp; my $n = $s->read_entity_body( $tmp, 20 ); last unless $n; $buf .= $tmp; } $buf =~ s/\r//g; ok( $code == 302 || $code == 200, 'success' ); like( $h{'Content-Type'}, qr{text/html} ); like( $buf, qr{</html>}i ); }