IT

libcurl이 있는 HTTP 상태 코드?

itgroup 2022. 12. 7. 22:22
반응형

libcurl이 있는 HTTP 상태 코드?

curl_easy_perform을 호출한 후 HTTP 상태 코드(예: 200 또는 500)를 얻으려면 어떻게 해야 합니까?

http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html

CURLINFO_RESPONSE_CODE
마지막으로 수신한HTTP 또는 FTP 코드를 수신하려면 , 포인터를 long 에 건네줍니다.이것.옵션은 CURLINFO_로 알려져 있습니다.libcurl 7.10.7 이전의 HTTP_CODE.이것.서버 응답 코드가 수신되지 않으면 0이 됩니다.주의:프록시의 CONNECT 응답을 CURLINFO_로 읽어야 합니다.HTTP_CONNECT 코드이거 말고. 
curl_code = curl_easy_perform (session);
long http_code = 0;
curl_easy_getinfo (session, CURLINFO_RESPONSE_CODE, &http_code);
if (http_code == 200 && curl_code != CURLE_ABORTED_BY_CALLBACK)
{
         //Succeeded
}
else
{
         //Failed
}

다른 답변은 전적으로 맞지만, 에러 코드를 손으로 확인하는 것은 현명하지 않을 수 있습니다.200code만이 성공을 나타내는 것은 아닙니다.

libcurl 옵션을 사용하면 활성화 시 libcurl이 고려되는 CURLOPT_FAILLONERROR 옵션을 사용할 수 있습니다.400그리고.500-category는 요청 실패 상태이며 반환되지 않습니다.CURLE_OK퍼포먼스에서 제외됩니다.

언급URL : https://stackoverflow.com/questions/290996/http-status-code-with-libcurl

반응형