php_PHP チュートリアルでカールを使用して https リクエストを取得する方法

WBOY
リリース: 2016-07-13 10:07:08
オリジナル
1113 人が閲覧しました

PHPがhttpsリクエストを取得するためにcurlを使用する方法

この記事では主に、PHPがhttpsリクエストを取得するためにcurlを使用する方法を紹介します。これは、必要な友人が参照するのに非常に役立ちます。それに

この記事の例では、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)){
死ぬ($エラー); }

カール_クローズ($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/956981.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/956981.html

技術記事

この記事では主に、PHP が https リクエストを取得するためにcurlを使用する方法を紹介します。これには、https リクエストに対するcurlの操作スキルが含まれます。これは非常に実用的であり、必要なものです。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート