Normalement, je posterai des données quand j'approuve la boucle. Et j'attends la réponse, analyser, etc ...
Je veux simplement poster des données et ne pas attendre toute réponse. En d'autres termes, puis-je envoyer des données à une URL, via Curl et fermer ma connexion immédiatement? (Ne pas attendre une réponse, voire de voir si l'URL existe) P>
Ce n'est pas une chose normale à poser, mais je demande à toute façon. P>
Voici ce que j'ai jusqu'à présent: p>
3 Réponses :
Vous pouvez le faire via les fonctions Je ne sais pas ce que Les implications sont en termes de ce qui se passera si le script sort et la courbe est toujours en marche. P> curl_multi _ * code> conçues pour exécuter plusieurs demandes simultanées - il suffit d'incendier une demande et ne vous inquiétez pas de la réponse.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $MyUrl);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_to_send);
$mh = curl_multi_init();
curl_multi_add_handle($mh,$ch);
$running = 'idc';
curl_multi_exec($mh,$running); // asynchronous
// don't bother with the usual cleanup
Je crois que le seul moyen de pas réellement recevoir toute la réponse em> à partir du serveur distant consiste à utiliser Notes importantes forte> p> curlopt_writtfunction code>. Par exemple:
curlopt_returntransfer code>, car cela interférera avec le rappel écriture. li>
ol> p>
Je ne sais pas si cela aide, mais via la ligne de commande, je suppose que vous pouvez utiliser l'option '-MAX-Time' '' Heure "-" heure maximale en secondes que vous permettez à l'ensemble de l'opération. " P>
Je devais faire quelque chose de rapide et de sale et je ne voulais pas avoir à reprogrammer le code ni attendre une réponse, alors trouvé l'option --Max-Time dans le manuel de CURL P>
CURL --MAX-Time 1 URL P>