PHP は、curl を使用して https サンプル コードにアクセスします
curl は、コマンドラインモードで動作する URL 構文を使用するオープンソースのファイル転送ツールです。ここでは、PHP で https にアクセスするために curl を使用する例を示します。説明の便宜上、行ってみましょう。最初にコードにアクセスします
コード 次のように:/**
* curl POST
*
* @param string url
* @param array 数据
* @param int 请求超时时间
* @param bool HTTPS时是否进行严格认证
* @return string
*/
function curlPost($url, $data = array(), $timeout = 30, $CA = true){
$cacert = getcwd() . '/cacert.pem'; //CA根证书
$SSL = substr($url, 0, 8) == "https://" ? true : false;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout-2);
if ($SSL && $CA) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA颁布的证书
curl_setopt($ch, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
} else if ($SSL && !$CA) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 检查证书中是否设置域名
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); //避免data数据过长问题
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); //data with URLEncode
$ret = curl_exec($ch);
//var_dump(curl_error($ch)); //查看报错信息
curl_close($ch);
return $ret;
}
URL アドレスが https で始まる場合は SSL を使用し、それ以外の場合は通常の HTTP プロトコルを使用します。
HTTPS を使用するのは
安全ですか?実際、SSL にもさまざまなレベルの検証があります。 たとえば、証明書内の共通名を確認する必要がありますか? (ちなみに、コモンネームとは通常、SSL 証明書を申請するドメイン名 (ドメイン) またはサブドメイン (サブドメイン) を入力することを意味します。)
ホスト名を確認する必要がありますか?
どの証明書も信頼しますか、それとも CA によって発行された証明書のみを信頼しますか?
(拭きました、バッテリーがほとんど切れていました、要点だけを抜粋しました - -|||)
ウェブサイトの SSL 証明書が CA から購入されている場合 (通常はより高価です)、より厳格になる可能性があります認証にアクセスするとき、つまり:
コードは次のとおりです:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // 只信任CA颁布的证书 curl_setopt($ch, CURLOPT_CAINFO, $cacert); // CA根证书(用来验证的网站证书是否是CA颁布) curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名,并且是否与提供的主机名匹配
Web サイトの証明書が独自に生成されているか、小規模なオンライン組織によって適用されている場合、アクセス中に厳密な認証が使用される場合、 pass と false は直接返されます。 (ちなみに、 false を返す場合は、curl_error($ch) を出力して、特定の エラー メッセージ
を表示できます。) このとき、正常なアクセスを確保するために、状況に応じて検証レベルを下げることができます。 例:
コードは次のとおりです:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); // 检查证书中是否设置域名(为0也可以,就是连域名存在与否都不验证了)
通常、ブラウザがさまざまなhttps Webサイトにアクセスすると、証明書が信頼されていないというプロンプトが表示されることがあります。実際、これは、これらのWebサイトの証明書が発行されたものではないためです。正式な CA 組織。
市場のさまざまなブラウザには CA ルート証明書リスト情報が組み込まれており、CA が発行した証明書を持つ Web サイトにアクセスすると、これらの Web サイトの証明書はルート証明書に基づいて検証されるため、そのようなプロンプトは表示されません。
CA ルート証明書ファイルに関しては、実際には各主要な CA 組織の公開鍵証明書が含まれており、Web サイトの証明書がこれらの組織によって発行されたものであるかどうかを確認するために使用されます。
ここでのファイルは、mozilla のソース ツリーから派生し、PEM 形式の証明書ファイルに変換されます。 (既製の http://curl.haxx.se/ca/cacert.pem はここからダウンロードできます)
最後に、SSL とは関係のない話をしましょう:
コードは次のとおりです:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
This主にPOSTデータが長すぎる問題を解決するためのものです
以上がPHP は、curl を使用して https サンプル コードにアクセスしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
