phpはcurlを使用してhttpsリクエストメソッドを取得し、phpcurlはhttps
を取得します
この記事の例では、PHP が Curl を使用して https リクエストを取得する方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
今日はプロジェクトに取り組んでおり、curl を使用してサードパーティ API を取得する必要があります。相手の API は https です。
以前はcurlを使用してhttpリクエストを取得できましたが、今日httpsリクエストを取得すると、次のエラーメッセージが表示されました:証明書の検証に失敗しました。
SSL 証明書の問題。CA 証明書が正常であることを確認してください。詳細: エラー:14090086:SSL ルーチン:SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました
解決策は、curl リクエストを行うときに
を追加することです。
コードをコピーします コードは次のとおりです:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false) // 証明書のチェックをスキップします
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 証明書から SSL 暗号化アルゴリズムが存在するかどうかを確認します
curl httpsリクエストコード
コードをコピーします コードは次のとおりです:
/**カールが https リクエストを取得します
* @param String $url リクエストされた URL
* @param Array $data 送信するデータ
* @param Array $header リクエスト時に送信されるヘッダー
* @param int $timeout タイムアウト時間、デフォルトは 30 秒
*/
関数curl_https($url, $data=array(), $header=array(), $timeout=30){
$ch =curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 証明書チェックをスキップします
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 証明書から SSL 暗号化アルゴリズムが存在するかどうかを確認します
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
$response =curl_exec($ch);
If($error=curl_error($ch)){
死ぬ($error);
}
カール_クローズ($ch);
$response を返します
}
// 電話
$url = 'https://www.example.com/api/message.php';
$data = array('name'=>'fdipzone');
$header = 配列();
$response =curl_https($url, $data, $header, 5);
$response をエコーします。
?>
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/957142.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/957142.html
技術記事
php は、curl を使用して https リクエストを取得する方法を教えてください。 phpcurl は https を取得します。 この記事では、php が https リクエストを取得するために、curl を使用する方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです: 今日...