Impossible de récupérer un cookie via CURL
Posté : 20 juin 2016, 00:01
Salut à tous,
J'essaye de récupérer le cookie d'une page Web (ssl), mais mon code ne fonctionne pas, alors que ça fonctionne avec plein d'autres sites Web.
Voici le code que j'utilise :
Mais ici rien. Pourtant si je vais sur le site je peux vérifier la présence d'au moins deux cookies dans Google Chrome. J'ai essayé avec la ligne de commande curl, mais ça fait pareil.
Le certificat SSL semble bien être lu, n'est ce pas ?
Je voudrais récupérer le JSESSION qui est dans le cookie pour m'en servir pour m'authentifier ailleurs.
Mais pourquoi avec ce site Web, ça ne fonctionne pas ?
HELP.
Merci
J'essaye de récupérer le cookie d'une page Web (ssl), mais mon code ne fonctionne pas, alors que ça fonctionne avec plein d'autres sites Web.
Voici le code que j'utilise :
Si je lance ce script en ligne de commande, avec le VERBOSE j'ai ceci qui s'affiche :function get_url($url) {
$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIESESSION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$data = curl_exec($ch);
curl_close($ch);
}
get_url('https://illicoweb.videotron.com/accueil');
Tout semble correcte, mais normalement je devrais voir la trace d'un cookie apparaître après "Accept: */*", en tout cas quand je le fais sur une autre page Web qui a un cookie.* About to connect() to illicoweb.videotron.com port 443 (#0)
* Trying 24.201.243.155... * connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using AES128-SHA
* Server certificate:
* subject: 1.3.6.1.4.1.311.60.2.1.3=CA; 1.3.6.1.4.1.311.60.2.1.2=Quebec; businessCategory=Private Organization; serialNumber=3366994047; C=CA; postalCode=H3C 4M8; ST=Quebec; L=Montreal; street=612, Rue Saint-Jacques; O=Videotron s.e.n.c.; OU=Videotron s.e.n.c; CN=il
* start date: 2016-03-04 00:00:00 GMT
* expire date: 2018-03-28 23:59:59 GMT
* subjectAltName: illicoweb.videotron.com matched
* issuer: C=US; O=Symantec Corporation; OU=Symantec Trust Network; CN=Symantec Class 3 EV SSL CA - G3
* SSL certificate verify ok.
> GET / HTTP/1.1
Host: illicoweb.videotron.com
Accept: */*
< HTTP/1.1 200 OK
< Date: Sun, 19 Jun 2016 21:55:51 GMT
< Last-Modified: Thu, 28 Apr 2016 06:04:55 GMT
< ETag: "428-2daf-531854e24cfc0"
< Accept-Ranges: bytes
< Content-Length: 11695
< X-Frame-Options: deny
< X-Content-Type-Options: nosniff
< Content-Type: text/html
<
* Connection #0 to host illicoweb.videotron.com left intact
* Closing connection #0
Mais ici rien. Pourtant si je vais sur le site je peux vérifier la présence d'au moins deux cookies dans Google Chrome. J'ai essayé avec la ligne de commande curl, mais ça fait pareil.
Le certificat SSL semble bien être lu, n'est ce pas ?
Je voudrais récupérer le JSESSION qui est dans le cookie pour m'en servir pour m'authentifier ailleurs.
Mais pourquoi avec ce site Web, ça ne fonctionne pas ?
HELP.
Merci