[PHP] CURL 결과에서 HTTP 프로토콜 헤더 바디 분리
반응형
PHP에서의 curl 사용시 결과에서 HTTP 프로토콜의 헤더 부분화 바디 부분을 분리 해야 될 경우 사용하는 방법입니다. 헤더를 얻으려면 CURLOPT_HEADER 이 부분이 반드시 true로 되어 있어야 결과에서 헤더와 바디가 같이 나옵니다.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true); // HTTP 헤더를 받고 싶을때
curl_setopt($ch, CURLOPT_VERBOSE, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
curl_close($ch);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
echo $header . "\\n";
위와 같이 결과를 가지고 substr 부분에서 HTTP의 헤더와 바디를 분리 합니다. 간혹 헤더 부분에 중요 정보를 가지고 있는 경우가 있어 별도 파싱하여 사용해야 되는 경우 유용 합니다.
반응형
'Programming > PHP' 카테고리의 다른 글
PHP 루프, 이렇게만 바꿔도 2배 빨라집니다! (0) | 2025.04.08 |
---|---|
[PHP] 현재 실행 경로 역추적 방법 (디버깅) (0) | 2025.03.06 |
[PHP] 폴더 내 파일 목록 불러오는 한 줄 소스 (0) | 2025.03.06 |
[PHP] URL 의 이미지가 실제 있는지 확인하는 PHP 소스 (0) | 2025.03.06 |
[PHP] 월별 숫자 앞에 0을 넣고 싶을때 (0) | 2022.12.12 |