반응형
libcurl을 사용하는 HTTP 상태 코드?
curl_easy_perform을 호출 한 후 HTTP 상태 코드 (예 : 200 또는 500)를 어떻게 얻습니까?
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
CURLINFO_RESPONSE_CODE 마지막으로받은 HTTP 또는 FTP 코드를 받으려면 long에 대한 포인터를 전달하십시오. 이 옵션은 libcurl 7.10.7 이전 버전에서 CURLINFO_HTTP_CODE로 알려졌습니다. 이 서버 응답 코드가 수신되지 않으면 0이됩니다. 참고 프록시의 CONNECT 응답은 CURLINFO_HTTP_CONNECTCODE로 읽어야합니다. 그리고 이것은 아닙니다.
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
}
다른 대답은 절대적으로 정확하지만 오류 코드를 직접 확인하는 것이 현명하지 않을 수 있으며 200
코드가 성공을 나타내는 유일한 코드는 아니라는 점을 덧붙이고 싶습니다 .
libcurl 옵션 CURLOPT_FAILONERROR 를 사용하면 활성화되면 libcurl 이 요청 실패로 간주 400
하고 500
-category 상태를 요청 실패로 간주 하고 CURLE_OK
수행에서 반환하지 않을 것 입니다.
참고 URL : https://stackoverflow.com/questions/290996/http-status-code-with-libcurl
반응형
'programing tip' 카테고리의 다른 글
사용자의 Subversion 구성 파일은 주요 운영 체제에서 어디에 저장됩니까? (0) | 2020.09.10 |
---|---|
파이썬에서 a-= b와 a = a-b의 차이점 (0) | 2020.09.10 |
Map.clear () vs new Map : 어느 것이 더 좋을까요? (0) | 2020.09.10 |
스크립트 및 스타일 요소에 대한 HTML "nonce"속성의 목적은 무엇입니까? (0) | 2020.09.10 |
내 컴퓨터에서 fuslogvw.exe를 찾을 수 없습니다. (0) | 2020.09.10 |