YII2 客户端->createRequest() 忽略验证



我正在尝试从我的Yii应用程序调用外部API

$client = new Client();
$response = $client->createRequest()
->setMethod('POST')
->setUrl('https//externalApi')
->setData(['name' => 'John Doe', 'email' => 'johndoe@example.com'])
->send();
if ($response->isOk) {
var_dump($response);
}

但是我得到:

HTTP Client Exception: fopen(): Peer certificate CN=`****' did not match expected CN=`****'

我想这和SSL证书有关。是否有办法忽略验证?

我找到了解决方案,您需要设置选项以禁用SSL前缀的SSL检查,所以这样做请求:

$client = new Client();
$response = $client->createRequest()
->setMethod('POST')
->setUrl('https//externalApi')
->setData(['name' => 'John Doe', 'email' => 'johndoe@example.com'])
->setOptions([
'sslallow_self_signed' => true,
'sslverify_peer_name'     => false,
])
->send();
if ($response->isOk) {
var_dump($response);
}

最新更新