我试图从每个页面获取Meta Tags等完整信息。我的代码几乎适用于所有网址,但是当我尝试从youtube读取信息时,它无法正常工作,并在apache的access.log文件中显示以下错误。
127.0.0.1 - - [03 / Jul / 2015:06:41:38 +0530]“GET /fila/video.php HTTP / 1.1”200 247“ - ”“Mozilla / 5.0(X11; Linux i686( x86_64的)) AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 43.0.2357.130 Safari浏览器/ 537.36"
我的代码在这里
$request_url ='http://youtube.com';
var_dump( fetch_raw_meta_details ( $request_url ) );
function curlInit( $url ){
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
return $curl;
}
function fetch_raw_meta_details( $URI ) {
// Opening session of Curl
$curl = curlInit( $URI );
$response = curl_exec($curl);
curl_close($curl);
if(!empty($response)) {
return _parse($response);
} else {
return false;
}
}
我已经在php.ini和必要扩展中启用了curl_exec。
任何帮助表示赞赏!