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 중국어 웹사이트의 기타 관련 기사를 참조하세요!