CURLINFO_RESPONSE_CODE
Passez un pointeur vers un long pour recevoir le dernier code HTTP ou FTP reçu. Ce
L'option était connue sous le nom de CURLINFO_HTTP_CODE dans la libcurl 7.10.7 et les versions antérieures. Ce
sera égal à zéro si aucun code de réponse du serveur n'a été reçu. Notez qu'un
La réponse CONNECT du proxy doit être lue avec CURLINFO_HTTP_CONNECTCODE
et pas ça.
L'autre réponse est tout à fait correcte, mais je voudrais également ajouter qu'il n'est peut-être pas judicieux de vérifier le code d'erreur à la main, le 200code n'est pas le seul code qui signifie le succès.
Je recommande d'utiliser l'option libcurl CURLOPT_FAILONERROR qui, lorsqu'elle est activée, fera que libcurl considère 400et 500que les statuts de catégorie sont un échec de la demande et ne reviendra pas CURLE_OKde perform.
En tant qu'extension à cela, en fonction de l'ensemble d'options, il existe d'autres codes non "série 200" qui sont un succès, mais avec la compréhension que plus de travail est nécessaire, deux des plus connus étant 301 et 302. Certainement curl peut être configuré pour les gérer automatiquement, mais il peut y avoir des cas où l'application voudra peut-être les gérer elle-même. Une possibilité pourrait être lorsque https: // est utilisé avec l'authentification client et qu'une chaîne de certificats complètement nouvelle est nécessaire pour la cible du résultat 301/302.
Réponses:
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
la source
L'autre réponse est tout à fait correcte, mais je voudrais également ajouter qu'il n'est peut-être pas judicieux de vérifier le code d'erreur à la main, le
200
code n'est pas le seul code qui signifie le succès.Je recommande d'utiliser l'option libcurl CURLOPT_FAILONERROR qui, lorsqu'elle est activée, fera que libcurl considère
400
et500
que les statuts de catégorie sont un échec de la demande et ne reviendra pasCURLE_OK
de perform.la source