ホームページ >バックエンド開発 >PHPチュートリアル >cURL HTTPS 接続のゼロコンテンツ長を修正する方法: 証明書認証の問題?

cURL HTTPS 接続のゼロコンテンツ長を修正する方法: 証明書認証の問題?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-20 11:28:02514ブラウズ

How to Fix Zero Content Length in cURL HTTPS Connections: Certificate Authentication Issues?

cURL での HTTPS サイト接続の問題: コンテンツ長ゼロの修正

cURL を使用して HTTPS サイトに接続しようとすると、応答コンテンツの長さがゼロになる問題。この問題は、多くの場合、証明書認証の問題が原因で発生します。この問題を解決するために実行できる手順は次のとおりです。

1. cURL 証明書ファイルの更新:

cURL は、HTTPS 証明書認証に古いファイルを使用しています。最新バージョンは次の場所から入手できます。

http://curl.haxx.se/ca/cacert.pem

サーバー上のディレクトリにファイルを保存します。

2.新しい証明書ファイルを使用するように cURL を構成します:

cURL 構成に次の行を追加します:

curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");

これは、cURL が認証に新しい証明書ファイルを使用することを指定します。

3.代替解決策:

また、システム全体の CA 証明書バンドルを使用するように php.ini を構成することもできます:

curl.cainfo=/etc/ssl/certs/ca-certificates.crt

4.検証の無効化を避ける:

中間者攻撃から保護するため、CURLOPT_VERIFYPEER と CURLOPT_VERIFYHOST の無効化を避けることが重要です。

5 。 Composer パッケージを使用します:

より包括的なソリューションとしては、CA 証明書を管理し、その有効性を保証する paragonie/certainty Composer パッケージの使用を検討してください:

composer require paragonie/certainty:dev-master

これらの対策を実装することでを使用すると、cURL が HTTPS 証明書を正常に認証し、安全なゲートウェイから正しいコンテンツを取得できるようになります。

以上がcURL HTTPS 接続のゼロコンテンツ長を修正する方法: 証明書認証の問題?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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