「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PhantomJS が HTTPS ページを開けないのはなぜですか?それを修正するにはどうすればよいですか?

PhantomJS が HTTPS ページを開けないのはなぜですか?それを修正するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:113

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

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