簡體   English   中英

如何使用PHP curl來獲取www.yahoo.com頁面?

[英]How to use PHP curl to fetch www.yahoo.com page?

嘗試編寫一個簡單的搜尋器方法。 當我使用PHP curl進入www.yahoo.com頁面時,我什么也沒得到。 如何獲取頁面? 我的代碼在下面。

public function getWebPage($url, $timeout = 120) {
    $options = array(
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HEADER         => false,
            CURLOPT_FOLLOWLOCATION => true, 
            CURLOPT_ENCODING       => "",       
            CURLOPT_USERAGENT      => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20081216 Ubuntu/8.04 (hardy) Firefox/2.0.0.19",
            CURLOPT_AUTOREFERER    => true, 
            CURLOPT_CONNECTTIMEOUT => $timeout,
            CURLOPT_TIMEOUT        => $timeout,
            CURLOPT_MAXREDIRS      => 10,
    );

    $ch      = curl_init($url);
    curl_setopt_array($ch, $options);
    $content = curl_exec($ch);
    $err     = curl_errno($ch);
    $errmsg  = curl_error($ch);
    $header  = curl_getinfo($ch);
    curl_close($ch);

    return $content;
}

yahoo.com在安全套接字層上運行。 因此,將此cURL參數添加到您的現有集合中。

CURLOPT_SSL_VERIFYPEER     => false,

並禁用USERAGENT ..

工作代碼..(已測試)

<?php

class A
{
    public function getWebPage($url, $timeout = 120) {
        $options = array(
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_HEADER         => false,
            CURLOPT_FOLLOWLOCATION => true,
            CURLOPT_ENCODING       => "",
            //CURLOPT_USERAGENT      => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.19) Gecko/20081216 Ubuntu/8.04 (hardy) Firefox/2.0.0.19",
            CURLOPT_AUTOREFERER    => true,
            CURLOPT_CONNECTTIMEOUT => $timeout,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_TIMEOUT        => $timeout,
            CURLOPT_MAXREDIRS      => 10,
        );

        $ch      = curl_init($url);
        curl_setopt_array($ch, $options);
        $content = curl_exec($ch);
        $err     = curl_errno($ch);
        $errmsg  = curl_error($ch);
        $header  = curl_getinfo($ch);
        curl_close($ch);

        return $content;
    }
}

$a = new A;
echo $a->getWebPage('www.yahoo.com');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM