首頁 > web前端 > js教程 > 主體

儘管有'ignore-ssl-errors”和用戶代理更改,為什麼 PhantomJS 仍無法加載 HTTPS 頁面?

Patricia Arquette
發布: 2024-10-26 01:38:28
原創
668 人瀏覽過

Why is PhantomJS Failing to Load HTTPS Pages Despite

PhantomJS 與HTTPS 頁面的鬥爭

嘗試使用PhantomJS/CasperJS 加載HTTPS 頁面時,儘管設置了“ignore-ssl-errors”,但仍可能會遇到錯誤修改用戶代理。

此問題可能源自 SSLv3 漏洞 (POODLE),促使網站所有者停用 SSLv3 支援。由於早期版本的PhantomJS 預設使用SSLv3,切換到TLSv1 甚至「任何」SSL 協定可以解決該問題:

casperjs --ssl-protocol=tlsv1 yourScript.js
登入後複製
casperjs --ssl-protocol=any yourScript.js
登入後複製

或者,更新到PhantomJS 1.9.8 或更高版本可以解決該問題,儘管它引入了一個單獨的錯誤。

要驗證SSLv3 是否是原因,請實現“resource.error”事件處理程序:

casper.on("resource.error", function(resourceError){
    console.log('Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')');
    console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
});
登入後複製

如果錯誤匹配“錯誤代碼:6. 描述” : SSL 握手失敗,” SSLv3 很可能是罪魁禍首。

以上是儘管有'ignore-ssl-errors”和用戶代理更改,為什麼 PhantomJS 仍無法加載 HTTPS 頁面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!