PhantomJS HTTPS ページの読み込みエラー
PhantomJS/CasperJS で、https://maizepages.umich.edu などの特定の Web ページを開くときに問題が発生します。 CasperJS がこのページをロードしようとすると、「PhantomJS がページ status=fail を開けませんでした。」というエラーが返されます。
原因の特定
根本的な原因を特定するには、エラー ログを調べると役に立ちます。よくある問題の 1 つは、TLSv1 がサポートされていないことです。 PhantomJS バージョン 1.9.8 より前のバージョンでは、デフォルトで SSLv3 が使用されますが、POODLE の脆弱性のため、多くの Web サイトで無効になっています。
解決策: TLSv1 サポート
これに対処するにはこの問題が発生した場合は、次のコマンドを使用して SSL プロトコルとして TLSv1 を指定します:
casperjs --ssl-protocol=tlsv1 yourScript.js
代わりに、将来の PhantomJS バージョンで利用可能な新しい SSL プロトコルをサポートする「任意の」プロトコルを使用することもできます。ただし、SSLv3 をまだ無効にしていないサイトでは脆弱性が露呈する可能性があります。
casperjs --ssl-protocol=any yourScript.js
修正の確認 ]
エラーが SSLv3 に関連しているかどうかを確認するには、次のリソース エラー ハンドラーをscript:
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);
});
エラーが実際に SSLv3 関連である場合、エラー メッセージは次のようになります:
Error code: 6. Description: SSL handshake failed
追加オプション
証明書関連のエラーの場合は、--ignore-ssl-errors=true を使用することをお勧めします。コマンドラインオプション。これにより、SSL 証明書検証エラーが無視されます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3