cURL 在线时超时但不在本地主机上

cURL times out when online but not on localhost

我有这个 curl 代码,可以让我从 411.com 抓取文本。 当我在我的本地主机上使用 wamp 测试它时,代码运行完美,但是当我在线测试它时,我得到错误连接超时。

我的网站使用 ssl。不确定这是否重要。

<?php     
//$url = "http://www.411.com/phone/1-310-402-9829";
$url = "www.411.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36'); 
$output = curl_exec($ch);

if(curl_errno($ch))
{
    echo 'error:' . curl_error($ch);
}

curl_close($ch);

function extract_unit($string, $start, $end)
{
$pos = stripos($string, $start);

$str = substr($string, $pos);

$str_two = substr($str, strlen($start));

$second_pos = stripos($str_two, $end);

$str_three = substr($str_two, 0, $second_pos);

$unit = trim($str_three); // remove whitespaces

return $unit;
}

$unit = extract_unit($output, '<span class="subtitle block pull-left">', 'in');

// Outputs: acronym
echo $unit;
?>

问题是我的网站无法访问 411.com。

我为 curl 添加了一个代理,然后我就能够成功地抓取页面。

curl_setopt($ch, CURLOPT_PROXY, $proxy);