>  기사  >  백엔드 개발  >  cURL을 사용하여 PHP에서 헤더만 검색하려면 어떻게 해야 합니까?

cURL을 사용하여 PHP에서 헤더만 검색하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-10 12:02:02687검색

How can I Retrieve Only Headers in PHP using cURL?

PHP에서 cURL을 통한 헤더 전용 검색

이 문서에서는 PHP에서 헤더만 검색하는 대신 헤더만 검색하기 위해 cURL을 사용하는 것과 관련된 두 가지 질문을 다룹니다. 처리 효율성과 특정 구현 문제에 초점을 맞춘 전체 페이지 데이터입니다.

처리 효율성

예, 원격 서버의 처리 능력과 대역폭 소비가 모두 감소합니다. 전체 페이지를 가져오는 것과 비교해 헤더만 검색하는 경우. 이는 서버가 HTML 콘텐츠를 생성하고 구문 분석하는 오버헤드를 방지하여 로드를 줄일 수 있기 때문입니다.

파일 수정 날짜 검색

마지막으로 수정된 날짜를 검색하려면 날짜(Last-Modified 헤더) 또는 원격 파일의 If-Modified-Since 헤더를 사용하는 경우 다음 단계를 수행할 수 있습니다.

<?php
class URIInfo
{
    public $info;
    public $header;
    private $url;

    public function __construct($url)
    {
        $this->url = $url;
        $this->setData();
    }

    public function setData()
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $this->url);
        curl_setopt($curl, CURLOPT_FILETIME, true);
        curl_setopt($curl, CURLOPT_NOBODY, true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_HEADER, true);
        $this->header = curl_exec($curl);
        $this->info = curl_getinfo($curl);
        curl_close($curl);
    }

    public function getFiletime()
    {
        return $this->info['filetime'];
    }
}

$filetime = (new URIInfo('http://www.example.com/file.xml'))->getFiletime();
if ($filetime != -1) {
    echo date('Y-m-d H:i:s', $filetime);
} else {
    echo 'filetime not available';
}
?>

이 접근 방식은 클래스를 활용하여 헤더 정보를 가져오는 기능을 캡슐화하고 Last-Modified 헤더를 추출합니다.

구현 과제

귀하가 제공한 원래 코드는 잘못된 컬_getinfo($header)를 사용하여 마지막 수정 날짜를 얻으려고 시도했습니다. 헤더 정보를 검색하려면 컬_getinfo()를 cURL 핸들($curl)과 함께 사용해야 합니다. 또한 CURLOPT_FILETIME을 사용하면 마지막으로 수정된 날짜를 검색하는 데 충분합니다.

결론적으로, PHP에서 cURL을 사용하는 헤더 전용 검색은 특정 헤더 정보에 액세스할 수 있도록 허용하면서 잠재적으로 서버 로드를 줄일 수 있습니다. 위에 설명된 지침을 따르면 코드에서 이 기능을 효과적으로 구현할 수 있습니다.

위 내용은 cURL을 사용하여 PHP에서 헤더만 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.