"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 외부 링크를 표시할 때 cURL이 file_get_contents를 안정적으로 대체할 수 있습니까?

외부 링크를 표시할 때 cURL이 file_get_contents를 안정적으로 대체할 수 있습니까?

2024-11-03에 게시됨
검색:693

Can cURL Be a Reliable Replacement for file_get_contents When Displaying External Links?

외부 링크 표시를 위해 file_get_contents를 cURL로 대체

file_get_contents 함수와 호환성 문제가 발생할 때 cURL은 외부 링크에 액세스하기 위한 대안을 제공합니다. 이를 효과적으로 구현하는 방법은 다음과 같습니다.

제공된 코드는 매개변수 누락으로 인해 처음에 원하는 콘텐츠를 표시하는 기능이 부족합니다. 이 문제를 해결하려면 다음과 같은 개선 사항이 필요합니다.

  • CURLOPT_AUTOREFERER: 서버 측 구문 분석에 필수적일 수 있는 "Referer" 헤더의 자동 전송을 활성화합니다.
  • CURLOPT_FOLLOWLOCATION: cURL이 발생한 모든 리디렉션을 따르도록 허용하여 콘텐츠 검색을 보장합니다.

요약하면 수정된 코드는 다음과 같습니다.

function file_get_contents_curl($url) {
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);       

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}

이러한 추가 기능을 통합함으로써 cURL은 시나리오에서 file_get_contents를 효과적으로 대체할 수 있으므로 웹 페이지에 외부 링크를 의도한 대로 표시할 수 있습니다.

릴리스 선언문 이 글은 1729172117에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3