Mark Knoop <> wrote:
> Hi
>
> I would like to pass through almost all http request headers from the
> browser that accesses my gci script to a request that I make to
> another host.
>
> I can obtain a list of all HTTP request header names by using the cgi
> http() function and access the values by using
> $ENV{$http_header_name};
>
> Some of the header names I have seen returned are
>
> HTTPS_SERVER_ISSUER
> HTTP_USER_AGENT
> HTTP_ACCEPT_LANGUAGE
> HTTPS_KEYSIZE
> HTTPS
> HTTP_REFERER
> HTTP_ACCEPT_CHARSET
> HTTP_HOST
> ...
>
> Now if I want to make a request using the same headers (with perhaps
> one or two being changed as required - therefore I need to be able to
> process them
> individually) I can use the LWP::UserAgent get() method, however it
> looks like I should use the header names as they would appear in the
> http request which are not the same as the header names returned by
> http().
>
> (from an example on
> http://www.perl.com/pub/a/2002/08/20/perlandlwp.html?page=2 )
>
> $response = $browser->get($url,
> 'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',
> 'Accept' => 'image/gif, image/x-xbitmap, image/jpeg,
> image/pjpeg, image/png, */*',
> 'Accept-Charset' => 'iso-8859-1,*,utf-8',
> 'Accept-Language' => 'en-US',
> );
>
>
> So - can anyone suggest a method of getting from HTTP_USER_AGENT to
> User-Agent - and so on for all http headers present (many of which I
> will not know in advance)?
>
> It feels like I am missing something really obvious...
AFAIK, the CGI only provides indirect and incomplete access to the
contents of the original HTTP request via the environment variable that
you already know about. If you need more complete and accurate access to
the HTTP request, the CGI is probably not appropriate. What you are
suggesting sound like something a proxy server might do, so have a look
at HTTP::Daemon, or even HTTP::Proxy.
HTH
--
Brian Raven
=========================================
Atos Euronext Market Solutions Disclaimer
=========================================
The information contained in this e-mail is confidential and solely for the
intended addressee(s). Unauthorised reproduction, disclosure, modification,
and/or distribution of this email may be unlawful.
If you have received this email in error, please notify the sender immediately
and delete it from your system. The views expressed in this message do not
necessarily reflect those of Atos Euronext Market Solutions.
Atos Euronext Market Solutions Limited - Registered in England & Wales with
registration no. 3962327. Registered office address at 25 Bank Street London
E14 5NQ United Kingdom.
Atos Euronext Market Solutions SAS - Registered in France with registration no.
425 100 294. Registered office address at 6/8 Boulevard Haussmann 75009 Paris
France.
L'information contenue dans cet e-mail est confidentielle et uniquement
destinee a la (aux) personnes a laquelle (auxquelle(s)) elle est adressee.
Toute copie, publication ou diffusion de cet email est interdite. Si cet e-mail
vous parvient par erreur, nous vous prions de bien vouloir prevenir
l'expediteur immediatement et d'effacer le e-mail et annexes jointes de votre
systeme. Le contenu de ce message electronique ne represente pas necessairement
la position ou le point de vue d'Atos Euronext Market Solutions.
Atos Euronext Market Solutions Limited Société de droit anglais, enregistrée au
Royaume Uni sous le numéro 3962327, dont le siège social se situe 25 Bank
Street E14 5NQ Londres Royaume Uni.
Atos Euronext Market Solutions SAS, société par actions simplifiée, enregistré
au registre dui commerce et des sociétés sous le numéro 425 100 294 RCS Paris
et dont le siège social se situe 6/8 Boulevard Haussmann 75009 Paris France.
=========================================
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs