传输总是空的在PHP卷曲
问题描述:
我从来没有使用过卷曲,因此我试图设置一些基本的东西:查询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。
答
您正在混合您的变量名$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点工作... –
答
修复此
$buffer = curl_exec($curl_handle);
到
$buffer = curl_exec($ch);
,也应该是,
curl_close($ch)
不curl_handle $。顺便说一句,关闭卷曲并不是真的需要你做什么。不过,这是一个很好的做法。
您正在使用'$ curl_handle'进行调用,但使用'$ ch'来执行其他所有操作 –