Net::Proxy::Connector::connect_ssl(3pm) | User Contributed Perl Documentation | Net::Proxy::Connector::connect_ssl(3pm) |
Net::Proxy::Connector::connect_ssl - Create SSL/CONNECT tunnels through HTTP proxies
# 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();
"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.
"Net::Proxy::Connector::connect" accepts the following options:
The destination host.
The destination port.
The web proxy name or address.
The web proxy port.
The authentication username for the proxy.
The authentication password for the proxy.
The user-agent string to use when connecting to the proxy.
Philippe 'BooK' Bruhat, "<book@cpan.org>".
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 2007 Philippe 'BooK' Bruhat, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2021-12-26 | perl v5.32.1 |