」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼 PhantomJS 無法開啟 HTTPS 頁面以及如何修復?

為什麼 PhantomJS 無法開啟 HTTPS 頁面以及如何修復?

發佈於2024-11-08
瀏覽:731

Why does PhantomJS fail to open HTTPS pages and how can I fix it?

PhantomJS 載入HTTPS 頁面錯誤

PhantomJS 載入HTTPS 頁面錯誤

PhantomJS/CasperJS 在開啟某些網頁時遇到困難,包括https://maizepages.umich .edu。當CasperJS 嘗試載入此頁面時,它會傳回錯誤「PhantomJS 無法開啟頁面status=fail。」

確定原因

要確定根本原因,檢查錯誤日誌很有幫助。一個常見問題是缺乏對 TLSv1 的支援。 PhantomJS 1.9.8 之前的版本預設使用 SSLv3,由於 POODLE 漏洞,許多網站已停用 SSLv3。

解決方案:TLSv1 支援
casperjs --ssl-protocol=tlsv1 yourScript.js
解決此問題問題,使用以下指令指定TLSv1 為SSL 協定:

casperjs --ssl-protocol=any yourScript.js
或者,可以使用「any」協議,它將支援未來PhantomJS 版本中可用的任何較新的 SSL 協定。但是,這可能會暴露尚未禁用 SSLv3 的網站上的漏洞。

casperjs --ssl-protocol=any yourScript.js

驗證修復
casperjs --ssl-protocol=tlsv1 yourScript.js
要確認錯誤是否與 SSLv3有關,請將下列資源錯誤處理程序新增至您的腳本:

Error code: 6. Description: SSL handshake failed

如果錯誤確實與SSLv3 相關,則錯誤訊息將類似於:錯誤代碼:6. 描述:SSL 握手失敗

其他選項

Why does PhantomJS fail to open HTTPS pages and how can I fix it?

對於與憑證相關的錯誤,建議使用--ignore-ssl-errors=true 命令列選項。這將忽略 SSL 憑證驗證錯誤。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3