Transmission de session en curl
Posté : 28 févr. 2012, 20:25
Je voudrai récupérer la session JAVA JSESSIONID de la poste entre deux pages.
La première url sert de capture de session et la seconde servirai à effectuer une demande de suivi colissimo grâce à la session interceptée car laposte bloque son système.
Mais cela ne marche pas la retransmission ne se fait pas. Un peu d'aide me ferai plaisir ?
Merci à vous :
La première url sert de capture de session et la seconde servirai à effectuer une demande de suivi colissimo grâce à la session interceptée car laposte bloque son système.
Mais cela ne marche pas la retransmission ne se fait pas. Un peu d'aide me ferai plaisir ?
Merci à vous :
<?php
$URL1="http://www.colissimo.fr/portail_colissimo/suivreResultatStubs.do";
$URL2="http://www.colissimo.fr/portail_colissimo/suivreResultat.do";
// open URL1 to get JSESSIONID
$ch = curl_init();
$agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12; ips-agent) Gecko/20050922 Fedora/1.0.7-1.1.fc4 Firefox/1.0.7";
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_URL,$URL1);
$page = curl_exec ($ch);
// get cookies from URL1
preg_match("/Cookie: (.*)\n/iU", $page, $matches);
$cookie = trim(substr($matches[1], strpos($matches[1],
':')));
$cookie = explode(";", $cookie);
echo $cookie[0];
echo '<hr />';
echo $URL2.';'.$cookie[0];
echo '<hr />';
// open URL2, include postdata and JSESSIONID cookie.
curl_setopt($ch, CURLOPT_URL,$URL2.';'.$cookie[0]);
$_COOKIE['JSESSIONID']=$cookie[0];
curl_setopt($ch, CURLOPT_COOKIE, $cookie[0]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$fp = fopen(dirname(__FILE__).'/errorlog.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $fp);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"parcelnumber=cc559986525fr&language=fr_FR");
curl_setopt($ch, CURLOPT_HEADER, 1);
// view output
echo '<base href="http://www.colissimo.fr/portail_colissimo/" />';
echo curl_exec ($ch);
?>