Net::Proxy::Connector::connect(3) Create CONNECT tunnels through HTTP proxies


# sample proxy using Net::Proxy::Connector::tcp
# and Net::Proxy::Connector::connect
use Net::Proxy;
# listen on localhost:6789
# and proxy to remotehost:9876 through
# using the given credentials
my $proxy = Net::Proxy->new(
in => { type => 'tcp', port => '6789' },
out => {
type => 'connect',
host => 'remotehost',
port => '9876',
proxy_host => '',
proxy_port => '8080',
proxy_user => 'jrandom',
proxy_pass => 's3kr3t',
proxy_agent => 'Mozilla/4.04 (X11; I; SunOS 5.4 sun4m)',


"Net::Proxy::Connecter::connect" is a "Net::Proxy::Connector" that uses the HTTP CONNECT method to ask the proxy to create a tunnel to an outside server.

Be aware that some proxies are set up to deny the creation of some outside tunnels (either to ports other than 443 or outside a specified set of outside hosts).

This connector is only an ``out'' connector.


"Net::Proxy::Connector::connect" accepts the following options:


  • 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.


Philippe 'BooK' Bruhat, "<[email protected]>".


All the authentication schemes supported by "LWP::UserAgent" should be supported (we use an "LWP::UserAgent" internally to contact the proxy).

This means we should also support NTLM, since it is supported as from "libwww-perl" 5.66. "Net::Proxy::Connector::connect" has not been actually tested with NTLM, though. Any report of success or failure with a NTLM proxy will be appreciated.


This module is based on my script "connect-tunnel", that provided a command-line interface to create tunnels though HTTP proxies. It was first published on CPAN on March 2003.

A better version of "connect-tunnel" (using "Net::Proxy") is provided this distribution.


Copyright 2006 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.