[PHP] Curl boucle infinie
toto
-
toto -
toto -
Bonjour,
Je ne comprends pas pourquoi quand je fais une requete en POST (en GET ca marche bien), il ne fait rien et il cherche indéfiniment la page:
Quel est le probleme ???
Je ne comprends pas pourquoi quand je fais une requete en POST (en GET ca marche bien), il ne fait rien et il cherche indéfiniment la page:
$curl = curl_init(); $header[0] = "Accept: text/html, application/xhtml+xml, */*"; $header[] = "Cache-Control: no-cache"; $header[] = "Connection: Keep-Alive"; $header[] = "Accept-Language: fr-FR"; $header[] = "Content-Type: text/plain"; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_REFERER, 'https://xxx.xxx/xxx/xxx?xxx'); curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($curl, CURLOPT_AUTOREFERER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $body); $html = curl_exec($curl); curl_close($curl); return $html;
Quel est le probleme ???
A voir également:
- [PHP] Curl boucle infinie
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Code gta 5 ps3 vie infinie - Guide
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
5 réponses
Salut toto,
Il y a quoi dans "$body" ?
Sinon, fait quelque chose de plus simple en t'inspirant de ceci, par exemple :
https://forums.commentcamarche.net/forum/affich-27227895-communication-automatique-entre-deus-serveurs-web-php-mysql#13
et ajoute ensuite des options additionnelles, si tu en as réellement besoin, et vois celles qui bloquent éventuellement la requête.
Dal
Il y a quoi dans "$body" ?
Sinon, fait quelque chose de plus simple en t'inspirant de ceci, par exemple :
https://forums.commentcamarche.net/forum/affich-27227895-communication-automatique-entre-deus-serveurs-web-php-mysql#13
et ajoute ensuite des options additionnelles, si tu en as réellement besoin, et vois celles qui bloquent éventuellement la requête.
Dal
Merci d'avoir répondu.
En fait le problème ne vient pas de la, ca vient du fait que je suis en HTTPS et donc il faut accepter le certif et l'authent. Donc c'est pas aussi trivial qu'avec du http :s.
En fait le problème ne vient pas de la, ca vient du fait que je suis en HTTPS et donc il faut accepter le certif et l'authent. Donc c'est pas aussi trivial qu'avec du http :s.
Re,
S'il s'agit d'un problème de certificat non reconnu, et que la vérification du certificat n'est pas indispensable pour toi, tu peux paramétrer cURL pour passer ces vérifications, et mettant les paramètres suivants à 0 :
Du moins, c'est comme cela que fonctionne libcurl, lorsque je l'ai utilisé pour la dernière fois dans un projet en C.
Dal
S'il s'agit d'un problème de certificat non reconnu, et que la vérification du certificat n'est pas indispensable pour toi, tu peux paramétrer cURL pour passer ces vérifications, et mettant les paramètres suivants à 0 :
CURLOPT_SSL_VERIFYPEER CURLOPT_SSL_VERIFYHOST
Du moins, c'est comme cela que fonctionne libcurl, lorsque je l'ai utilisé pour la dernière fois dans un projet en C.
Dal
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui en effet j'avais changé mon code hier en rajoutant les no verify.
Mais en fait mon site utilise de l'authentification avec token RSA, donc normalement il faudrait rajouter l'authent avec un setopt mais vu que c'est un token RSA qui change tous les 30 secondes c'est juste pas possible ^^.
Normalement je forge ma requete curl quand l'utilisateur est loggué, donc peut être n'ai je pas besoin de rajouter l'authent ?
Du coup j'ai laissé tombé, ca me parait impossible.
Si vous avez des idées je suis preneur :).
Mais en fait mon site utilise de l'authentification avec token RSA, donc normalement il faudrait rajouter l'authent avec un setopt mais vu que c'est un token RSA qui change tous les 30 secondes c'est juste pas possible ^^.
Normalement je forge ma requete curl quand l'utilisateur est loggué, donc peut être n'ai je pas besoin de rajouter l'authent ?
Du coup j'ai laissé tombé, ca me parait impossible.
Si vous avez des idées je suis preneur :).
Ah, les joyeusetés des tokens.
C'est du PKCS#11 ?
Je me suis pris la tête dessus il y a quelques semaines sur un programme en C sous Windows et Libcurl, en potassant les discussions comme celles-ci : https://curl.se/mail/lib-2009-02/0197.html et https://curl.se/mail/lib-2007-03/0078.html qui parle d'utiliser NSS avec cURL, qui supporte PKCS#11. Il y a aussi un patch qui traîne sur Internet, et qui serait capable de dialoguer avec une clé de ce type (je n'ai plus le lien, mais je devrai pouvoir le retrouver si cela t'intéresse), mais je pense qu'il n'a pas été repris par l'équipe qui développe cURL et il était sensé fonctionner sur la version patchée en question (donc potentiellement plus sur les versions actuelles, sauf à en adapter le code).
Au final, j'ai laissé tomber et fait autrement, en automatisant sous Windows l'intéraction avec le driver Windows du constructeur pilotant la clef.
Note aussi que d'après https://curl.se/changes.html cURL supporte l'authentification PKCS12 (si ton token est conforme à cette norme, tu as peut-être de meilleures chances).
Bon courage :-)
Dal
C'est du PKCS#11 ?
Je me suis pris la tête dessus il y a quelques semaines sur un programme en C sous Windows et Libcurl, en potassant les discussions comme celles-ci : https://curl.se/mail/lib-2009-02/0197.html et https://curl.se/mail/lib-2007-03/0078.html qui parle d'utiliser NSS avec cURL, qui supporte PKCS#11. Il y a aussi un patch qui traîne sur Internet, et qui serait capable de dialoguer avec une clé de ce type (je n'ai plus le lien, mais je devrai pouvoir le retrouver si cela t'intéresse), mais je pense qu'il n'a pas été repris par l'équipe qui développe cURL et il était sensé fonctionner sur la version patchée en question (donc potentiellement plus sur les versions actuelles, sauf à en adapter le code).
Au final, j'ai laissé tomber et fait autrement, en automatisant sous Windows l'intéraction avec le driver Windows du constructeur pilotant la clef.
Note aussi que d'après https://curl.se/changes.html cURL supporte l'authentification PKCS12 (si ton token est conforme à cette norme, tu as peut-être de meilleures chances).
Bon courage :-)
Dal
A vrai dire le token n'est pas prédictible c'est un token physique x).
Du coup j'ai fait autrement, par un form html j'ai réussi a faire ce que je voulais faire.
Lors de la soumission de l'action, le navigateur reprends les cookies du site vers lequel je voulais faire ma requête (donc plus de soucis de token vu que c'est repris dynamiquement).
Attention toutefois, vous ne pourrez pas modifier le referer comme avec curl (probleme de same origin policy ;)).
Du coup j'ai fait autrement, par un form html j'ai réussi a faire ce que je voulais faire.
Lors de la soumission de l'action, le navigateur reprends les cookies du site vers lequel je voulais faire ma requête (donc plus de soucis de token vu que c'est repris dynamiquement).
Attention toutefois, vous ne pourrez pas modifier le referer comme avec curl (probleme de same origin policy ;)).