PhantomJS가 HTTPS 페이지를 열지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-10-26 15:05:31
원래의
508명이 탐색했습니다.

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

PhantomJS 로드 HTTPS 페이지 오류

PhantomJS/CasperJS는 https://maizepages.umich.edu를 포함한 특정 웹 페이지를 여는 데 어려움을 겪습니다. CasperJS가 이 페이지를 로드하려고 시도하면 "PhantomJS failed to open page status=fail" 오류가 반환됩니다.

원인 확인

기본 원인을 확인하려면, 오류 로그를 검사하는 것이 도움이 됩니다. 일반적인 문제 중 하나는 TLSv1에 대한 지원이 부족하다는 것입니다. 1.9.8 이전의 PhantomJS 버전은 기본적으로 POODLE 취약점으로 인해 많은 웹사이트에서 비활성화된 SSLv3을 사용합니다.

해결책: TLSv1 지원

이 문제를 해결하려면 문제가 발생하면 다음 명령을 사용하여 SSL 프로토콜로 TLSv1을 지정하십시오.

<code class="sh">casperjs --ssl-protocol=tlsv1 yourScript.js</code>
로그인 후 복사

또는 "모든" 프로토콜을 사용할 수 있으며 이는 향후 PhantomJS 버전에서 사용할 수 있는 최신 SSL 프로토콜을 지원합니다. 그러나 이로 인해 아직 SSLv3을 비활성화하지 않은 사이트에서는 취약점이 노출될 수 있습니다.

<code class="sh">casperjs --ssl-protocol=any yourScript.js</code>
로그인 후 복사

수정 확인

오류가 SSLv3과 관련된 것인지 확인하려면, 다음 리소스 오류 처리기를 스크립트에 추가하세요.

<code class="sh">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);
});</code>
로그인 후 복사

오류가 실제로 SSLv3과 관련된 경우 오류 메시지는 다음과 같습니다.

Error code: 6. Description: SSL handshake failed
로그인 후 복사

추가 옵션

인증서 관련 오류의 경우 --ignore-ssl-errors=true 명령줄 옵션을 사용하는 것이 좋습니다. SSL 인증서 확인 오류는 무시됩니다.

위 내용은 PhantomJS가 HTTPS 페이지를 열지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!