CasperJS/PhantomJS: HTTPS 페이지 탐색
CasperJS 및 PhantomJS는 HTTPS로 보안된 웹 페이지를 포함하여 특정 웹 페이지에 액세스할 때 제한 사항에 직면합니다. 다음 페이지에 문제가 있는지 여부에 대한 의문이 생깁니다. https://maizepages.umich.edu.
SSLv3 취약점 해결
오류 메시지 "PhantomJS가 실패했습니다. 열린 페이지 상태=실패"는 SSLv3에 잠재적인 문제가 있음을 나타냅니다. PhantomJS(< v1.9.8)에 대한 최근 업데이트에서는 SSLv3 지원을 제거하여 이러한 브라우저가 TLSv1 준수가 부족한 페이지를 로드하지 못하게 할 수 있습니다. 이 문제를 해결하려면 --ssl-protocol 플래그를 사용하여 SSL 프로토콜을 명시적으로 지정하십시오.
casperjs --ssl-protocol=tlsv1 yourScript.js
보다 포괄적인 솔루션을 위해서는 사용 가능한 모든 SSL 프로토콜을 지원하는 --ssl-protocol=any 플래그를 사용하십시오. :
casperjs --ssl-protocol=any yourScript.js
PhantomJS 1.9.8 이상으로 업데이트
또는 PhantomJS 1.9.8 이상으로 업데이트하면 SSLv3 충돌이 자동으로 해결됩니다. 그러나 이번 업데이트에는 특히 CasperJS에 영향을 미치는 새로운 버그가 도입되었습니다.
문제 확인
SSLv3 취약점이 문제를 일으키는지 확인하려면 resources.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 문제를 나타냅니다.
추가 고려 사항
SSL 인증서 문제와 관련된 경우 --ignore-ssl-errors=true 플래그를 사용하여 인증서 확인을 우회하는 것이 좋습니다.
위 내용은 CasperJS/PhantomJS를 사용하여 HTTPS 페이지에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!