J'ai un site qui se connecte par cURL (dernière version) à une passerelle sécurisée pour le paiement.
Le problème est que cURL renvoie toujours un contenu de longueur 0. Je n'obtiens que des en-têtes. Et seulement lorsque je configure cURL pour qu'il renvoie des en-têtes. J'ai mis en place les drapeaux suivants.
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $gatewayURI);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);
L'en-tête renvoyé est
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Tue, 25 Nov 2008 01:08:34 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 0
Content-Type: text/html
Set-Cookie: ASPSESSIONIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; path=/
Cache-control: private
J'ai également essayé d'accéder par cURL à différents sites et ils renvoient le contenu sans problème. Je pense que le problème pourrait avoir quelque chose à voir avec la connexion https.
J'ai parlé avec l'entreprise et ils sont peu serviables.
Quelqu'un d'autre a-t-il rencontré cette erreur et connaît-il un moyen de la contourner ? Devrais-je laisser tomber cURL et essayer d'utiliser fsockopen()
?
Merci. :)