ホームページ >バックエンド開発 >PHPチュートリアル >HTTPS サイトに接続すると、cURL が長さゼロのコンテンツを返すのはなぜですか?

HTTPS サイトに接続すると、cURL が長さゼロのコンテンツを返すのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-17 01:43:03344ブラウズ

Why Is My cURL Returning Zero-Length Content When Connecting to an HTTPS Site?

cURL による HTTPS 接続の問題のトラブルシューティング

cURL に接続しようとすると、cURL が長さ 0 のコンテンツを返すという問題が発生しました。安全なHTTPSサイト。考えられる解決策をいくつか検討してみましょう:

問題は証明書の検証プロセスにある可能性があります。 cURL は、バンドルされた証明書ファイルを使用してリモート HTTPS 接続を検証します。ただし、このバンドルされたファイルは古くなり、認証の問題が発生する可能性があります。

解決策:

  1. 公式 cURL Web サイト http: から最新の証明書ファイルを取得します。 //curl.haxx.se/ca/cacert.pem
  2. ファイルをコンピュータ上の便利な場所に保存します。 site.
  3. cURL リクエストに次の行を含めます:
curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem"); 

代替ソリューション:

  1. php.ini ファイルに次の内容を追加します行:
curl.cainfo=/etc/ssl/certs/ca-certificates.crt

これにより、システムの認証局ファイルを使用するように PHP に指示されます。

Composer Package Solution:

より堅牢なソリューションの場合は、確実性コンポーザー パッケージの使用を検討してください: https://github.com/paragonie/certainty。証明書管理プロセスを自動化し、コードが証明書の失効やその他の問題に対して脆弱にならないようにします。

CURLOPT_VERIFYPEER と CURLOPT_VERIFYHOST を無効にすると、コードが中間者攻撃の影響を受けやすくなることに注意してください。通信の整合性を維持するために、HTTPS 接続を常に適切に検証してください。

以上がHTTPS サイトに接続すると、cURL が長さゼロのコンテンツを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。