>  기사  >  CMS 튜토리얼  >  phpcms를 수집할 수 없으면 어떻게 해야 합니까?

phpcms를 수집할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2019-12-28 10:06:312558검색

phpcms를 수집할 수 없으면 어떻게 해야 합니까?

phpcms를 수집할 수 없으면 어떻게 해야 하나요?

https 웹사이트 콘텐츠를 수집할 수 없는 주된 이유는 https가 콘텐츠 획득을 위한 file_get_contents를 지원하지 않기 때문입니다. 따라서 콘텐츠 획득을 위해 컬을 사용하는 것을 고려해 볼 수 있습니다. (pathinfo에서 볼 수 있는 컬을 활성화해야 합니다.)

(1) phpcmsmodulescollectionclassescollection.class.php

열기 클래스에 새 함수 추가:

protected static function curl_request($url){   
        if (!function_exists('curl_init')) {   
            throw new Exception('server not install curl');   
        }   
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL,$url); 
        curl_setopt($ch, CURLOPT_HEADER,0); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//禁止调用时就输出获取到的数据 
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false); 
        $result = curl_exec($ch); 
        curl_close($ch); 
        return $result; 
    }

(2) 함수 get_htm을 찾아 함수를 변경합니다.

protected static function get_html($url, &$config) { 
        if (!empty($url) && $html = @file_get_contents($url)) { 
            if ($syscharset != $config['sourcecharset'] && $config['sourcetype'] != 4) { 
                $html = iconv($config['sourcecharset'], CHARSET.'//TRANSLIT//IGNORE', $html); 
            } 
            return $html; 
        } else { 
            return false; 
        } 
    }

to

protected static function get_html($url, &$config) { 
        if(substr(trim($url),0, 5) == "https"){
          $html = @self::curl_request($url);
      }else{
         $html = @file_get_contents($url);
       }
        if (!empty($url) && $html) { 
            if ($syscharset != $config['sourcecharset'] && $config['sourcetype'] != 4) { 
                $html = iconv($config['sourcecharset'], CHARSET.'//TRANSLIT//IGNORE', $html); 
            } 
            return $html; 
        } else { 
            return false; 
        } 
    }

그런 다음 저장하여 테스트 결과를 받으세요

phpcms를 수집할 수 없으면 어떻게 해야 합니까?

다른 버그가 있는지는 모르겠지만 피드백 메시지를 남겨주세요!

PHP 중국어 웹사이트, 수많은 무료 PHPCMS 튜토리얼, 온라인 학습을 환영합니다!

위 내용은 phpcms를 수집할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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