Bonjour,
Je me permets de poster ici car je ne trouve pas vraiment d'aide en ligne après de nombreuses heures passées à chercher.
Mon problème est, je pense, plutôt lié au scénario dans lequel j'utilise la fonction php curl.
Donc voici le scénario :
Une boutique en ligne utilisant le système Drupal est installé sur un serveur OVH Serv1.
En appelant l'URL suivante depuis n'importe quel endroit et n'importe quel navigateur, j'obtiens le retour que je souhaite, à avoir un code.
(les valeur entre<> sont des paramètres)
URL1 = <monsite.com>/admin/store/customers/coupon/getCoupon?idCoupon=<monidCoupon>&idCode=<monIdCode>&
Cette URL fait partie de la boutique en ligne en question et est relativement simple à comprendre.
Afin d'utiliser une identification sécurisée pour justement accéder à cette page, j'appelle une autre URL de cette boutique qui fait la redirection si l'identification a réussi.
URL2 = <monsite.com>/admin/goUrlLogged?url=<monsite.com>/admin/store/customers/coupon/getCoupon&username=<monusername>&password=<monpassword>&idCoupon=<monidCoupon>&idCode=<monIdCode>
Cette redirection fonctionne bien et donc simule un log-in pour accéder à la page. Les deux URL renvoient donc la même chose.
Là où ça se complique c'est que je dois appeler cette dernière URL depuis une serveur local Serv2 (donc config apache différente, version de php différente)
Le problème :
j'utilise le code suivant :
1 2 3 4 5 6 7 8 9 10 11 12
|
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "<URL2>");
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 0); // no timeout
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 );
$ret = curl_exec($ch);
echo "ret=$ret";
curl_close($ch); |
Le retour que j'obtiens est l'équivalent de la page Accès refusé de ma boutique en ligne.
Si je commente la ligne :
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
Le retour est carrément vide.
Je ne sais pas si le problème vient de l'utilisation de la fonction curl ou autre chose.
Si quelqu'un a une idée, je vous en remercie.
Partager