Retrieve cookies from remote host, pass them back to client.

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
jasonc
Forum Newbie
Posts: 2
Joined: Fri Feb 13, 2009 11:52 am

Retrieve cookies from remote host, pass them back to client.

Post by jasonc »

I have a PHP 5.2.8 web application that needs to retrieve a resource from a remote URL. However, the remote host also sends a cookie back (in a Set-Cookie header), and I need to grab that cookie and pass it on to the client (so that it's stored by the client browser). I do know the name of the cookie beforehand.

What is the best way to do this? Passing a cookie from PHP back to the client is easy, it's grabbing the cookie from the remote URL that is the problem.

There is no support for cookies in file_get_contents(), so that won't work. I can use curl to retrieve the remote URL with headers, but curl does not seem to provide an easy way to get the value of the cookie beyond retrieving the HTTP headers and parsing them manually. I could use and parse curl's cookie file (another hack) but the cookie contains a value that is randomly generated, and the cookies in curl's cookie jar are global to all PHP requests (so if multiple users made the same request, their cookie value could be shared).

How can I retrieve the contents of a remote resource as well as the value of a cookie sent with that resource?

Thanks,
Jason

P.S.: Also, as a minor side question; how, if at all, would the method for doing this be different in PHP 4.4.9?
josh
DevNet Master
Posts: 4872
Joined: Wed Feb 11, 2004 3:23 pm
Location: Palm beach, Florida

Re: Retrieve cookies from remote host, pass them back to client.

Post by josh »

cURL library has cookie container support & existing PHP extension
jasonc
Forum Newbie
Posts: 2
Joined: Fri Feb 13, 2009 11:52 am

Re: Retrieve cookies from remote host, pass them back to client.

Post by jasonc »

josh wrote:cURL library has cookie container support & existing PHP extension
Thanks for the fast reply. By "cookie container" do you mean per-curl-session cookie containers? That sounds like it could be a start, but can you give me a keyword to search for? I'm looking at the PHP cURL documentation, but I'm having trouble finding out how to set up non-global cookie containers. I couldn't find any relevant options in curl_setopt().

Thanks,
Jason
Post Reply