Hi,

I have a difficulty with our proxy server when I try to access https web
sites.
Without the proxy my script is running perfectly !


The script is running on NT, ActivePerl(5.6) and OpenSSL is installed.
(The problem seems to be the some on Unix side with perl 5.6)
The proxy is something like : http://www.domain.com
The web site is something like : https://www.domain.com


The problem is that I have and "http" type of proxy and I want to open an
"https" web site.
In this case Perl should open an http type socket on the proxy then send the
encoded data through the proxy to the https web site. I don't see anything
similar implemented in perl LWP::Protocol::http.

Instead perl just open a regular "http" connection on the proxy and tries to
establish the communication the regular way.


I traced a regular browser and the browser is able to connect to that https
web site without any problem using the proxy. The browser uses the following
method: browser opens regular connection on proxy => proxy opens connection
on  https web site => proxy sends message back to browser that connection is
opened  => browser sends encoded data through the socket opened.



Is there something implemented in Perl to handle this combination of proxy
(http) and web site (https) ? 

I didn't find anything.


Andras


TEST CODE
============================================================================
========
#!c:\perl\bin\perl.exe -d

use LWP::UserAgent;  
use HTTP::Headers;
use HTTP::Request;
use URI::URL;
use Crypt::SSLeay::MainContext qw(main_ctx);
use LWP::Debug qw(+);
use LWP::Debug qw(level); level('+');

my $hdrs = new HTTP::Headers( 'Xroxy-Connection' => 'Keep-Alive',
                              'Pragma'           => 'No-Cache'     );

$ua = new LWP::UserAgent;
$ua->proxy( ['https', 'http' ] => 'http://www.domain.com:8088' );


$ua->agent( 'Mozilla/4.0 ( compatible; MSIE 4.01; Windows NT; Aim Package
version 1.07.8)' );
$ua->timeout( 30 );

my $url = new URI::URL("https://www.domain.com/main.html");

$req = new HTTP::Request( GET, $url, $hdrs );
$resp = $ua->request($req);

if ($resp->is_success) 
{  
    print "SUCCESS: ".$resp->as_string."\n";
}
else 
{
    print "FAILED: ".$resp->as_string."\n";
}

exit(0);
_______________________________________________
Perl-Win32-Web mailing list
[EMAIL PROTECTED]
http://listserv.ActiveState.com/mailman/listinfo/perl-win32-web

Reply via email to