我正在尝试使用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有关获取证书的问题,但我不清楚我是否需要从美味或我想要访问的网站获取该证书。
答案 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);
应该包含一些有用的信息。