2012-03-16 5 views
2

J'utilise CURL pour obtenir une réponse d'une API web. Je reçois une réponse mais il est sous forme de chaîne comme ceci:obtenir la valeur de la réponse curl

HTTP/1.1 302 Moved Temporarily Date: Ven 16 mars 2012 12:57:16 GMT serveur: GlassFish/v3 Powered-By-X: Servlet/2.5 Emplacement: http://demo.tdsarena.com/tds/ Type de contenu: text/html; charset = iso-8859-1 Longueur du contenu: 0 Set-Cookie: JSESSIONID = b869884w3w3r3r76dbd1a2bfd5d; Path =/tds Vary: Accept-Encoding Connection: close

je suis en utilisant le code suivant:

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://demo.tdsarena.com/tds/j_security_check'); 
curl_setopt($ch, CURLOPT_POST, true); 

curl_setopt($ch, CURLOPT_POSTFIELDS, "j_username=XXX&j_password=XXX"); 

curl_setopt($ch, CURLOPT_HEADER, true); 



curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$result = curl_exec($ch); 
curl_close($ch); 

echo $result; 

je veux obtenir cookie "JSESSIONID". mais comment puis-je obtenir cela. J'ai essayé avec $ _COOKIE variable.

quelqu'un peut-il m'aider plz. Merci d'avance.

+0

mais je suis en utilisant la méthode post en utilisant CURLOPT_POST valeur true dans boucle – Chirayu

+0

La variable $ _COOKIE est le bon endroit pour Regardez. Cela contiendra des cookies transmis lorsque le script PHP a été invoqué, pas de cookies transmis lorsque curl_exec est appelée. – qbert220

Répondre

3

Vous pouvez analyser la valeur $result et extraire la valeur du cookie en utilisant quelque chose comme ceci:

if (preg_match('/Set-Cookie: JSESSIONID=(.*?);/', $result, $matches)) 
{ 
    $cookieVal = $matches[1]; 
    echo $cookieVal; 
} 
Questions connexes