cURL在线时超时,但在localhost上没有

时间:2015-01-02 08:09:52

标签: php curl localhost

我有这个卷曲代码,应该允许我从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;
?>

1 个答案:

答案 0 :(得分:0)

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

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

curl_setopt($ch, CURLOPT_PROXY, $proxy);