HTTP 요청에 PHP를 사용할 때 CURL은 개발자가 요청을 보내고 응답을 얻는 데 도움이되는 매우 일반적인 도구입니다. CURL을 사용하여 요청을 보내고 응답을 처리 할 때 문제가 발생할 수 있습니다. CURL_CLOSE ()을 호출하여 CURL 세션을 닫은 후 요청 된 HTTP 상태 코드를 어떻게 얻을 수 있습니까?
PHP에서 Curl_Close ()는 CURL 세션을 닫는 데 사용되므로 함수는 현재 세션과 관련된 모든 리소스를 출시합니다. 일반적으로 Curl_Close ()을 호출 한 후 모든 세션 정보가 파괴되므로 요청 된 HTTP 상태 코드를 직접 검색 할 수 없습니다. 그러나 세션을 마치기 전이나 후에 상태 코드를 얻는 방법이 여전히 남아 있습니다.
요청을 실행 한 후 Curl_GetInfo () 함수를 사용하여 HTTP 상태 코드를 포함한 요청 정보를 얻을 수 있습니다. 이 함수는 여러 요청 정보가 포함 된 배열을 반환 할 수 있으며 그 중 하나는 HTTP_Code 이며 HTTP 상태 코드를 나타냅니다.
컬 세션을 마치기 전에 Curl_GetInfo ()를 호출하여 상태 코드를 얻을 수 있습니다. 예는 다음과 같습니다.
<?php
// 초기화 cURL 세션
$ch = curl_init();
// 요청 된 설정 URL
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/example");
// 설정 cURL 옵션
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 구현하다 cURL 묻다
$response = curl_exec($ch);
// 얻다 HTTP 상태 코드
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
// 폐쇄 cURL 세션
curl_close($ch);
// 산출 HTTP 상태 코드
echo "HTTP 상태 코드是: " . $http_code;
?>
이 예에서는 먼저 curl_init ()을 사용하여 CURL 세션을 초기화 한 다음 요청 URL을 설정 한 다음 요청을 실행합니다. 다음으로, HTTP 상태 코드는 curl_getInfo ()를 사용하여 얻어지고 상태 코드는 $ http_code 변수에 저장됩니다. 세션이 끝나면 Curl_Close ()를 호출하여 CURL 세션을 닫습니다.
curl_close ()는 현재 컬 세션을 닫고 점유 된 자원을 출시합니다. Curl_Close () 가 호출되면 세션과 관련된 모든 상태 정보가 파괴되므로 HTTP 상태 코드를 포함한 요청 된 세부 정보는 CURL 기능을 통해 얻을 수 없습니다.
이로 인해 HTTP 상태 코드를 얻는 데 올바른 시간은 curl_close () 전에 curl_exec () 실행을 완료하고 curl_getInfo () 를 호출하는 것입니다. 이렇게하면 세션을 마치기 전에 요청 된 상태 정보가 검색되도록합니다.
HTTP 상태 코드 외에도 Curl_getInfo ()는 다른 많은 유용한 정보를 반환 할 수 있습니다. 예를 들어, 요청의 최종 URL, 시간, 컨텐츠 길이 등과 같은 반환 정보는 다음과 같은 더 많은 요청 정보를 얻는 방법의 예입니다.
<?php
// 초기화 cURL 세션
$ch = curl_init();
// 요청 된 설정 URL
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/api/example");
// 설정 cURL 옵션
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 구현하다 cURL 묻다
$response = curl_exec($ch);
// 얻다 cURL 묻다信息
$request_info = curl_getinfo($ch);
// 폐쇄 cURL 세션
curl_close($ch);
// 산출묻다信息
echo "HTTP 상태 코드: " . $request_info['http_code'] . "\n";
echo "묻다的 URL: " . $request_info['url'] . "\n";
echo "묻다耗时: " . $request_info['total_time'] . "두번째\n";
?>
위 코드를 통해 HTTP 상태 코드, 최종 요청 URL 및 총 요청 시간과 같은 정보를 얻을 수 있습니다.
Curl_Close ()는 세션을 닫고 리소스를 해제하지만 세션을 닫기 전에 Curl_GetInfo ()를 통해 HTTP 상태 코드 및 기타 유용한 요청 정보를 얻을 수 있습니다. 따라서 http 상태 코드를 성공적으로 얻을 수 있도록 curl_close ()를 호출하기 전에 curl_getinfo ()를 호출하십시오.
이 기사를 통해 CURL을 사용하여 PHP에서 HTTP 상태 코드를 얻는 방법을 더 잘 이해하고 세션을 마친 후 정보를 얻을 수없는 문제를 피할 수 있기를 바랍니다.