phpcurlhttpsリクエストを取得する2つの方法
この記事では、主に phpcurl が https リクエストを取得するための 2 つの方法を紹介します。この記事では、証明書とホストを検証しない方法と、正しい証明書を設定する方法のコード例を示します。
今日、同僚が、curl を使用して https リクエストを開始すると、エラーが発生したと報告しました。「SSL 証明書に問題があります。CA 証明書が OK であることを確認してください。詳細: エラー:14090086:SSL ルーチン:SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました」証明書の検証時に問題があったのは明らかです。
curl を使用して通常の https リクエストを開始する場合は、2 つの方法があります:
方法1:証明書とホストを検証しないように設定します。
curl_exec()を実行する前。オプションを設定します
コードは次のとおりです:
$ch =curl_init();
……
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
方法 2: 正しい証明書を設定します。
ローカルの SSL 証明書が古すぎるため、リンクで間違った SSL 証明書が報告されます。
新しいSSLローカル識別ファイルをダウンロードする必要があります
プログラムファイルディレクトリに置きます
curl 以下の設定を追加します
コードは次のとおりです:
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).'/cacert.pem');
完成しました
(検証に失敗しました...エラーメッセージは次のとおりです: SSL 証明書の問題、CA 証明書が OK であることを確認してください。詳細: エラー:14090086:SSL ルーチン:SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました)
http://www.bkjia.com/PHPjc/990993.html
。