NAME¶
Net::Proxy::Connector::connect_ssl - Create SSL/CONNECT tunnels through HTTP
proxies
SYNOPSIS¶
# sample proxy using Net::Proxy::Connector::tcp
# and Net::Proxy::Connector::connect_ssl
use Net::Proxy;
# listen on localhost:6789
# and proxy to remotehost:9876 through proxy.company.com:8080
# using the given credentials
my $proxy = Net::Proxy->new(
in => { type => 'tcp', port => '6789' },
out => {
type => 'connect_ssl',
host => 'remotehost',
port => '9876',
proxy_host => 'proxy.company.com',
proxy_port => '8080',
proxy_user => 'jrandom',
proxy_pass => 's3kr3t',
proxy_agent => 'Mozilla/4.04 (X11; I; SunOS 5.4 sun4m)',
},
);
$proxy->register();
Net::Proxy->mainloop();
DESCRIPTION¶
"Net::Proxy::Connecter::connect_ssl" is a
"Net::Proxy::Connector" that uses the HTTP CONNECT method to ask the
proxy to create a tunnel to an outside server. The data is then encrypted
using SSL.
Obviously, you'll need a server that understands SSL (or a proxy using
"Net::Proxy::Connector::ssl") at the other end.
This connector is only an "out" connector.
In addition to the options listed below, this connector accepts all
"SSL_..." options to "IO::Socket::SSL". They are
transparently passed through to the appropriate "IO::Socket::SSL"
methods when upgrading the socket to SSL.
CONNECTOR OPTIONS¶
"Net::Proxy::Connector::connect" accepts the following options:
"out"¶
- •
- host
The destination host.
- •
- port
The destination port.
- •
- proxy_host
The web proxy name or address.
- •
- proxy_port
The web proxy port.
- •
- proxy_user
The authentication username for the proxy.
- •
- proxy_pass
The authentication password for the proxy.
- •
- proxy_agent
The user-agent string to use when connecting to the proxy.
AUTHOR¶
Philippe 'BooK' Bruhat, "<book@cpan.org>".
HISTORY¶
Because "Net::Proxy" blocks when it tries to connect to itself, it
wasn't possible to pass an SSL-encrypted connection through a proxy with a
single script: you needed one for the SSL encapsulation, and another one for
bypassing the proxy with the "CONNECT" HTTP method.
See "Net::Proxy::Connector::connect" and
"Net::Proxy::Connector::ssl" for details.
COPYRIGHT¶
Copyright 2007 Philippe 'BooK' Bruhat, All Rights Reserved.
LICENSE¶
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.