CasperJS/PhantomJS: HTTPS ページのナビゲーション
CasperJS と PhantomJS は、HTTPS で保護された Web ページなど、特定の Web ページにアクセスするときに制限に直面します。次のページに問題があるかどうかという疑問が生じます: https://maizepages.umich.edu.
SSLv3 脆弱性への対処
エラー メッセージ「PhantomJS は失敗しました」 open page status=fail」は、SSLv3 に関する潜在的な問題を示します。 PhantomJS の最近の更新 (v1.9.8 未満) では SSLv3 サポートが削除され、これらのブラウザーが TLSv1 に準拠していないページを読み込めなくなる可能性があります。これを解決するには、--ssl-protocol フラグを使用して SSL プロトコルを明示的に指定します。
casperjs --ssl-protocol=tlsv1 yourScript.js
より包括的な解決策については、使用可能な SSL プロトコルをサポートする --ssl-protocol=any フラグを使用します。 :
casperjs --ssl-protocol=any yourScript.js
PhantomJS 1.9.8 以降への更新
または、PhantomJS 1.9.8 以降に更新すると、SSLv3 の競合が自動的に解決されます。ただし、このアップデートでは、特に CasperJS に影響する新しいバグが導入されています。
問題の確認
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 の問題を示しています。
追加の考慮事項
SSL 証明書の問題が関係する場合は、 --ignore-ssl-errors=true フラグを使用して証明書のチェックをバイパスすることを検討してください。
以上がCasperJS/PhantomJS を使用して HTTPS ページにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。