我将这个函数用于我的 cURL 查询。
function get_source($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt ($ch, CURLOPT_HEADER, 0);
$source = curl_exec ($ch);
return $source;
}
该功能完美运行,但是当我尝试在我的 MySQL 数据库中的 URL 上运行它时,它不会工作......
我已经完成了以下测试...我正在尝试获取 YouTube 视频的来源:
测试1:
echo get_source("http://www.youtube.com/watch?v=WxfZkMm3wcg");
**Result: Works, returns the source code of the video.**
测试 2:
$video="http://www.youtube.com/watch?v=WxfZkMm3wcg";
echo get_source($video);
**Result: Works, returns the source code of the video.**
测试 3:
$video_arr=mysql_fetch_array(mysql_query("SELECT video FROM videos WHERE id='$video_id'"));
$video=$video_arr['video'];
echo get_source($video);
**Result: Does not work. A blank string gets returned and there aren't any cURL errors that I can see...**
测试 4(只是为了显示我的查询有效)
$video_arr=mysql_fetch_array(mysql_query("SELECT video FROM videos WHERE id='$video_id'"));
$video=$video_arr['video'];
var_dump($video);
**Result: string(38) "http://youtube.com/watch?v=WxfZkMm3wcg"**
我不知道该怎么做,甚至不知道出了什么问题。有什么建议么?