我正在尝试向Cloudflare网站提出请求。 直到昨天我有一个工作脚本,但现在似乎请求被发送回空。 现在这个问题似乎非常奇怪,原因如下: *它工作正常,直到昨天。 *它仅在需要SSL连接的网站上发生。 *相同的代码适用于我的本地主机,但不适用于我的服务器。
这是我正在使用的代码:
$ch = curl_init();
$curlConfig = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6',
CURLOPT_FOLLOWLOCATION => 1
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);
正如您所看到的,代码非常简单,但我无法弄清楚为什么它在我的本地服务器(XAMPP)上无法在我的服务器上运行,而且效果很好。
非常感谢,祝你有个美好的一天!
答案 0 :(得分:0)
您的本地curl设置是否支持使用ECC SSL证书?
如果仅在具有免费CloudFlare帐户(而不是专业帐户)的网站上发生这种情况,则表示您的curl安装无法连接到使用Elliptic Curve Cryptography密码进行SSL的网站。
您需要在服务器上安装这些密码。你提到它在服务器上不起作用,而它在XAMPP上工作正常。这可能是因为您的本地计算机安装了这些密码而您的计算机没有安装这些密码。您可以通过升级OpenSSL版本在Linux环境中执行此操作。
那应该解决你的问题。玩得开心,一定不要被防火墙阻挡在CloudFlare之外!