cURL による HTTPS 接続の問題のトラブルシューティング
cURL に接続しようとすると、cURL が長さ 0 のコンテンツを返すという問題が発生しました。安全なHTTPSサイト。考えられる解決策をいくつか検討してみましょう:
問題は証明書の検証プロセスにある可能性があります。 cURL は、バンドルされた証明書ファイルを使用してリモート HTTPS 接続を検証します。ただし、このバンドルされたファイルは古くなり、認証の問題が発生する可能性があります。
解決策:
curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
代替ソリューション:
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 サイトの他の関連記事を参照してください。