Bonjour,
J'ai un petit problème avec cURL. Voici mon cheminement...
#1
Je dois me connecter sur un site SSL avec un formulaire (login.fcc) qui envoie mon code d'usager / mot de passe. La page me retourne du Javascript qui redirige vers une autre page. Jusque là, tout fonctionne.
Résultat lors du succès:
#2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script language="javascript"> ... document.location.href = site + "success.jsp?DEST=" + target; </script>
J'appelle donc la page success.jsp.
La page me retourne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $url= "https://.../login/success.jsp?DEST=http://.../redirect.html"; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_COOKIEJAR, './cookie.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, './cookie.txt'); $xxx = curl_exec($ch);
Là est mon problème. Je ne suis pas capable de me rendre à la page 'http://...'. J'ai tenté de simuler le cookie du Javascript mais sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script language="Javascript"> document.cookie = 'HOSTDESTINATION=; expires=' + 'Mon, 01-Jan-90 00:00:01 GMT' +'; path=/; domain=.domain.com'; window.location= 'http://...'; </script>
Est-ce que quelqu'un pourrait me diriger vers la solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $url="http://..."; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_COOKIE, 'HOSTDESTINATION=; expires=' + 'Mon, 01-Jan-90 00:00:01 GMT; path=/; domain=.domain.com'); $xxx = curl_exec($ch);
En passant, j'utilise la même connection $ch tout au long du script. J'ai mon appel à $ch = curl_init(); en début du script et curl_close ($ch); à la fin.
Merci d'avance !
Partager