我正在尝试使用PHP创建一个简单的Web爬虫,但我在获取给定URL的HTML源代码时遇到问题。我目前正在使用cURL获取源代码。
我的代码:
$url = "http://www.nytimes.com/";
function url_get_contents($Url) {
if (!function_exists('curl_init')) {
die('CURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $Url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
if ($output === false) { die(curl_error($ch)); }
curl_close($ch);
return $output;
}
echo url_get_contents($url);
?>
现在没有任何回应,也没有任何错误,所以这有点神秘。任何建议或修正将不胜感激
编辑:我添加了
if($ output === false){die(curl_error($ ch)); }
到函数的中间,它最终给了我一个错误(最后!):
无法解析主持人:www.nytimes.com
我仍然不知道问题是什么。有什么想法吗?
由于
答案 0 :(得分:2)
原来这不是cURL问题
我的主机服务器(Ubuntu VM)正在使用"仅限主机"网络适配器阻止访问其主机之外的所有其他IP或域,使cURL无法连接到URL。
一旦改为"桥接"网络适配器我可以访问外部世界。
希望这有帮助。
答案 1 :(得分:0)
可变案例不匹配($url
与$Url
)。变化:
function url_get_contents($Url) {
到
function url_get_contents($url) {