En gardant session vivant avec Curl et PHP

Je suis en train d'essayer de se connecter à une API, pour authentifier un utilisateur et afficher les détails de l'utilisateur. Ceci est accompli par le premier accès à la connexion d'extrémité à

http://api.example.com/login/<username>/<password>

pour vous connecter et ensuite la commande suivante pour afficher les détails de l'utilisateur:

http://api.example.com/user/

Tout cela fonctionne dans un navigateur web. Cependant, une fois que j'essaie d'utiliser Curl, la connexion fonctionne bien, mais lorsque vous essayez d'afficher les détails de l'utilisateur, je remonte un 401, erreur non autorisée. Je crois que c'est parce que Curl n'est pas l'enregistrement de la session les cookies correctement? Quelqu'un peut-il rappeler pourquoi il ne fonctionne pas et comment le résoudre? J'ai essayé de chercher stack exchange, cependant, aucune des solutions que j'ai essayé ont travaillé pour ma situation. Le code que j'utilise pour recourber les extrémités est indiqué ci-dessous. Merci!

define("COOKIE_FILE", "cookie.txt");

//Login the user
$ch = curl_init('http://api.example.com/login/joe/smith');
curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
echo curl_exec ($ch);

//Read the session saved in the cookie file
echo "<br/><br/>";
$file = fopen("cookie.txt", 'r');
echo fread($file, 100000000);   
echo "<br/><br/>";

//Get the users details
$ch = curl_init('http://api.example.com/user');
curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
echo curl_exec ($ch);

Ce code de sortie:

HTTP/1.1 200 OK Date: Mon, 22 Oct 2012 21:23:57 GMT Server: LiteSpeed Connection: close X-Powered-By: PHP/5.3.14 Set-Cookie: cfapi=f481129c9616b8f69cc36afe16466545; path=/Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Type: application/json X-Powered-By: CFWAPI 0.1a Content-Length: 46 {"status":200,"msg":"Successfully Logged In."}

# Netscape HTTP Cookie File # http://curl.haxx.se/rfc/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. api.example.com FALSE   /  FALSE   0   cfapi 94f63b07ccf7e34358c1c922341c020f 

HTTP/1.1 401 Unauthorized Date: Mon, 22 Oct 2012 21:23:57 GMT Server: LiteSpeed Connection: close X-Powered-By: PHP/5.3.14 Set-Cookie: cfapi=a8eb015a7c423dde95aa01579c4729a4; path=/Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Content-Type: application/json X-Powered-By: CFWAPI 0.1a Content-Length: 49 {"status":401, "msg":"You need to login first!"}
InformationsquelleAutor John | 2012-10-22