Writting a simple proxy in PHP

View: New views
5 Messages — Rating Filter:   Alert me  

Writting a simple proxy in PHP

by Alessandro Vernet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I would like to forward on the server side (also called "proxy" or "server-side redirect") some queries that get to my PHP script. A naive approach is to do:

print(implode("", file("http://localhost:8090" . $REQUEST_URI)));

Where http://localhost:8090 is the address I want to proxy to. But of course, this only works for simple GET requests. It does not forward headers (like Authentication), and won't work if the request is a POST.

Has anyone a suggestion on how I could implement a better proxy? I am not looking for a perfect solution. Something that would forward headers and handle posts would be good enough.

Alex
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
Orbeon's Blog: http://www.orbeon.com/blog/
Personal Blog: http://avernet.blogspot.com/
Twitter - http://twitter.com/avernet

Re: Writting a simple proxy in PHP

by Jochem Maas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alessandro Vernet wrote:

> I would like to forward on the server side (also called "proxy" or
> "server-side redirect") some queries that get to my PHP script. A naive
> approach is to do:
>
> print(implode("", file("http://localhost:8090" . $REQUEST_URI)));
>
> Where http://localhost:8090 is the address I want to proxy to. But of
> course, this only works for simple GET requests. It does not forward headers
> (like Authentication), and won't work if the request is a POST.
>
> Has anyone a suggestion on how I could implement a better proxy? I am not
> looking for a perfect solution. Something that would forward headers and
> handle posts would be good enough.

if your using apache then you should look at the ProxyPass directive - very hand,
STW or STA for more detailed info.

>
> Alex

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: Writting a simple proxy in PHP

by Casey-27 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Try using cUrl.

On 2/6/07, Jochem Maas <jochem@...> wrote:

> Alessandro Vernet wrote:
> > I would like to forward on the server side (also called "proxy" or
> > "server-side redirect") some queries that get to my PHP script. A naive
> > approach is to do:
> >
> > print(implode("", file("http://localhost:8090" . $REQUEST_URI)));
> >
> > Where http://localhost:8090 is the address I want to proxy to. But of
> > course, this only works for simple GET requests. It does not forward headers
> > (like Authentication), and won't work if the request is a POST.
> >
> > Has anyone a suggestion on how I could implement a better proxy? I am not
> > looking for a perfect solution. Something that would forward headers and
> > handle posts would be good enough.
>
> if your using apache then you should look at the ProxyPass directive - very hand,
> STW or STA for more detailed info.
>
> >
> > Alex
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: Writting a simple proxy in PHP

by Alessandro Vernet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Jochem Maas wrote:
if your using apache then you should look at the ProxyPass directive - very hand,
STW or STA for more detailed info.
Jochem,

I went this route. I agree, it is much simpler than trying to hack this in PHP.

Alex
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
Orbeon's Blog: http://www.orbeon.com/blog/
Personal Blog: http://avernet.blogspot.com/
Twitter - http://twitter.com/avernet

Re: Writting a simple proxy in PHP

by Jochem Maas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Alessandro Vernet wrote:

>
> Jochem Maas wrote:
>> if your using apache then you should look at the ProxyPass directive -
>> very hand,
>> STW or STA for more detailed info.
>>
>
> Jochem,
>
> I went this route. I agree, it is much simpler than trying to hack this in
> PHP.

it's rather a neat way of solving the 'how to run php4 & php5 module on the same
server' problem one often encounters,

I can't take any credit though - that belongs to Rasmus Lerdorf for pointing it out
(and possibly also due to his work on Apache itself - IIRC).

regardless, nice to know you solved your problem (or at least pushed back the urgency -
I guess that one day we'll all have to let go of php4 altogether :-).

>
> Alex

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php