« Terminé » vous indique qu'un transfert multi-cURL s'est arrêté. Cela ne vous indique pas que la connexion au proxy a fonctionné, que la destination a renvoyé le statut attendu ou que le corps est exploitable.

Lisez chaque transfert terminé depuis curl_multi_info_read(). Son result appartient à ce handle. Conservez-le à côté du proxy et de la destination choisis pour le handle.

PreuveCe qu'elle répond
Résultat cURL par transfertLe transfert s'est-il achevé au niveau transport ou protocole ?
Statut HTTPQuel statut de réponse cet échange a-t-il reçu ?
Contenu de réponse attenduL'application a-t-elle reçu la ressource dont elle avait besoin ?

Ces contrôles sont liés, mais aucun ne remplace les autres. Un proxy peut renvoyer un défi d'authentification avec un corps d'erreur parfaitement lisible. Un site web peut renvoyer un refus après que le tunnel s'est ouvert avec succès.

Une vérification d'état distincte avant le transfert réel fournit des preuves plus anciennes sur une autre requête. Elle ne peut pas certifier l'opération suivante. Utilisez le résultat du transfert réel pour son issue, et ne conservez la vérification antérieure qu'à titre de contexte supplémentaire.

Articles similaires