2011-09-28 43 views
0

我从来没有使用过卷曲,因此我试图设置一些基本的东西:查询google.com并编写它。这是我的:传输总是空的在PHP卷曲

<?php 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://www.google.com'); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$buffer = curl_exec($curl_handle); 
$curl_errno = curl_errno($ch); 
$curl_error = curl_error($ch); 
curl_close($curl_handle); 

if ($curl_errno > 0) { 
    echo "cURL Error ($curl_errno): $curl_error\n"; 
} else { 
    if(empty($buffer)) { 
    echo "No data received."; 
    } else { 
    echo "Data received: $buffer\n"; 
    } 
} 

?> 

但是,它返回“没有数据收到”每一次。

这是在Kubuntu 11.04 x64 PHP版本5.3.5和cURL版本7.21.3。

+1

您正在使用'$ curl_handle'进行调用,但使用'$ ch'来执行其他所有操作 –

回答

2

您正在混合您的变量名$ch$curl_handle。你不能这样做。是一致的($ch是非常标准的):

<?php 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'http://www.google.com'); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$buffer = curl_exec($ch); // Changed variable name here 
$curl_errno = curl_errno($ch); // Removed duplicate line here 
curl_close($ch); // Changed variable name here 

?> 
+0

谢谢,我从几个例子中混合使用,没有注意到它们使用了不同的变量名称......这就是我所得到的在凌晨4点工作... –

0

修复此

$buffer = curl_exec($curl_handle); 

$buffer = curl_exec($ch); 

,也应该是,

curl_close($ch) 

不curl_handle $。顺便说一句,关闭卷曲并不是真的需要你做什么。不过,这是一个很好的做法。