【发布时间】:2020-11-23 21:30:13
【问题描述】:
我有一个 web 应用程序,它对不同的站点进行 curl 调用以获取数据。 由于我的网络空间提供商 (ionos) 对服务器进行了一些更改,因此 curl 调用不再起作用。
我的 curl 调用如下所示:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$sResult = curl_exec($ch);
curl_close($ch);
它没有工作。 $sResult 为空。 我更改了代码并尝试了
$test = file_get_contents($link);
这给了我错误:
PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
我的 curl 调用或 file_get_contents 调用中是否缺少某些内容?
【问题讨论】:
-
目标服务器的证书要么需要改进,要么您必须以某种方式配置 openssl 以允许 dh 密钥太小。我不是一个 PHP 人,所以这是我能告诉你的最好的。可能在系统范围内更改设置会起作用,但它不是超级安全。 askubuntu.com/questions/1233186/…