使用cURL加载安全文件

时间:2009-09-30 16:23:24

标签: php curl

我正在尝试使用cURL访问安全文件..其使用的文档令人困惑,因此我搜索并找到了两个网站(1& 2)和一个参考{{ 3}}但脚本似乎对我不起作用。

我正在尝试访问的网站有我需要公开的数据,所以我不需要登录或提供密码。

这是我的脚本,它所做的就是坐在那里等待事情发生(我没有错误)。

$ch = curl_init('https://www.somesite.com/index.htm');

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

// Disable PEER SSL Verification: If you are not running with SSL or if you don't have valid SSL
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

// Disable HOST (the site you are sending request to) SSL Verification,
// if Host can have certificate which is nvalid / expired / not signed by authorized CA.
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

$sFile = curl_exec($ch);
curl_close($ch);

我只需要弄清楚我在这里做错了什么。 谢谢!

更新:脚本在XAMPP本地工作,但不在实时服务器上工作(我错过了php设置吗? - 可能是我无法触摸的东西,因为我现在正在使用免费托管服务)。我还发现here on SO有关获取证书的问题,但我不清楚我是否需​​要从美味或我想要访问的网站获取该证书。

2 个答案:

答案 0 :(得分:2)

你在第一行有一个缺失的引用:

$ch = curl_init('https://www.somesite.com/index.htm');

除此之外,试试

echo curl_error($ch);

关闭手柄之前。

此外,您可以显示PHP错误(一旦您上线,请将其关闭):

error_reporting(E_ALL);
ini_set('display_errors', 1);

答案 1 :(得分:2)

尝试类似

的内容
$sFile = curl_exec($ch);
$info = curl_getinfo($ch);

print_r($info);

应该包含一些有用的信息。