相关疑难解决方法(0)

为什么cURL返回一个空字符串?

我有一个问题,PHP的cURL返回一个带有一些URL的空字符串.我正在尝试解析不同网页的OG元数据,它适用于我尝试过的除NYTimes之外的所有网站.到目前为止,这是我的代码.

print_r(get_og_metadata('http://somewebsite.com'));


public function get_data($url)
{
    $ch = curl_init();
    $timeout = 5;
    // the url to fetch
    curl_setopt($ch, CURLOPT_URL, $url);
    // return result as a string rather than direct output
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // set max time of cURL execution
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

public function get_og_metadata($url)
{
    libxml_use_internal_errors(TRUE);
    $data = $this->_get_data($url);
    $doc = new DOMDocument();
    $doc->loadHTML($data);

    $xpath = new DOMXPath($doc);
    $query = '//*/meta[starts-with(@property, \'og:\')]';

    $metadatas = $xpath->query($query);
    $result = array();
    foreach($metadatas as $metadata) …
Run Code Online (Sandbox Code Playgroud)

php curl domdocument

16
推荐指数
3
解决办法
3万
查看次数

标签 统计

curl ×1

domdocument ×1

php ×1