好的,所以经过一段时间努力让cURL获取受密码保护的XML文件,并且从中得不到任何结果,我尝试了解我的代码以查看 的工作原理。事实证明没有。这是我的代码:
$ch = curl_init("www.google.com");
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_exec($ch);
curl_close($ch);
而且cURL是沉默的。我的意思是什么都没有打印到页面。我确实启用了它,我的phpinfo看起来像这样:
cURL support enabled
cURL Information libcurl/7.16.0 OpenSSL/0.9.8a zlib/1.2.3
在Windows NT服务器上运行php 5.2。有什么建议吗?
答案 0 :(得分:7)
关键在于这一行:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
您告诉cURL返回传输结果而不是回显它(默认值)。所以要么删除该行,要么执行以下操作:
$result = curl_exec($ch);
if ($result === false) {
echo "Error: " . curl_error($ch);
} else {
echo $result;
}
如果您在评论中指出了SSL错误,可以在cURL句柄上设置另一个选项以禁用检查证书:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);