使用 cURL 排查 HTTPS 連線問題
您遇到了以下問題:cURL 在嘗試連線到安全的 HTTPS 網站。讓我們探討一些可能的解決方案:
問題可能出在證書驗證過程。 cURL 使用捆綁的憑證檔案來驗證遠端 HTTPS 連線。但是,此捆綁檔案可能會過時,從而導致身份驗證問題。
解決方案:
curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
替代解決方案:
curl.cainfo=/etc/ssl/certs/ca-certificates.crt
這將指示PHP 使用系統的憑證授權單位文件。
Composer 套件解決方案:
對於更強大的解決方案,請考慮使用確定性作曲家包:https://github.com/paragonie/certainty 。它會自動執行憑證管理流程,確保您的程式碼不易受到憑證撤銷或其他問題的影響。
必須記住,停用 CURLOPT_VERIFYPEER 和 CURLOPT_VERIFYHOST 會使您的程式碼容易受到中間人攻擊。請始終正確驗證 HTTPS 連接,以保持通訊的完整性。
以上是為什麼我的 cURL 在連接到 HTTPS 網站時返回零長度內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!