[HTTP-Recorder] Using http-recorder with a proxy in my company

Lippmann, Richard lippmann at zirndorf.de
Tue Jul 13 08:33:50 EDT 2004


I thought it's a good idea to use HTTP::Recorder with my company's proxy.
But it was not so easy to set it up. So I wrote this script which could help
you, too, to do your next job faster.

Greetings, 
Horshack

==


#!/usr/bin/perl
my $version = "0.01";
print "This is $0 V$version\n";
# Take the newest version from
#
http://search.cpan.org/CPAN/authors/id/L/LE/LEIRA/HTTP-Recorder-0.03_01.tar.
gz
use HTTP::Recorder "0.03_01";
use HTTP::Proxy;

# Set everything to undef if you have no proxy-servers
# in your organisation
my %whoami = (
        # listen to every network interface on this machine:
	# host => undef,
	# host => "127.0.0.1",
        # listen only to network interface 10.1.1.5
	host => "10.95.81.5",
        # which is the port I shall listen
        port => "3128",
);

# this is for forwarding all requests to my proxy in the company
my %proxy = (
        host => "http://proxy.zdf:3128",
        user => undef,
        pass => undef,
);

# set HTTP::Recorder as the agent
my $agent = HTTP::Recorder->new(
        # Log to a file
        # file => "/tmp/tmpfile",
        file => "proxy.log",
        showwindow => 1);

# Set my own proxy to forward requests
$agent->proxy( "http", $proxy{host} )
        if $proxy{host};
$request->proxy_authorization_basic( @proxy{ qw/user pass/ } )
        if $proxy{user};

my $proxy = HTTP::Proxy->new;
$proxy->agent( $agent );
$proxy->port( $whoami{port} )
        if $whoami{port};

# Set how I get soon from my users
if ( $whoami{host} ) {
        # My interface to be reached
        $proxy->host( $whoami{host} );
}
# My port to be reached
$proxy->port( $whoami{port} );

# you may need to set the host

print "Your proxy-server in your web-browser shall be:\n";
printf "\t%s:%s\n",
	$whoami{host} ? $whoami{host} : "the_host_i_run",
	$whoami{port} ? $whoami{port} : 8080;

print "Navigate to http://http-recorder/ to download the script\n";
print "\twhich has been generated\n";


# Endless loop
$proxy->start();


More information about the HTTP-Recorder mailing list