>웹 프론트엔드 >JS 튜토리얼 >\'ignore-ssl-errors\' 및 사용자 에이전트 변경에도 불구하고 PhantomJS가 HTTPS 페이지를 로드하지 못하는 이유는 무엇입니까?

\'ignore-ssl-errors\' 및 사용자 에이전트 변경에도 불구하고 PhantomJS가 HTTPS 페이지를 로드하지 못하는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-26 01:38:28727검색

Why is PhantomJS Failing to Load HTTPS Pages Despite

PhantomJS는 HTTPS 페이지와 씨름합니다

PhantomJS/CasperJS를 사용하여 HTTPS 페이지를 로드하려고 하면 "ignore-ssl-errors" 및 "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=true" 명령줄 옵션을 사용하는 것이 좋습니다.

위 내용은 \'ignore-ssl-errors\' 및 사용자 에이전트 변경에도 불구하고 PhantomJS가 HTTPS 페이지를 로드하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.