2013-04-07 3 views
1

스크래핑 스크립트를 작성 중입니다. 대부분의 웹 사이트에서 작동하지만 특정 SSL 사이트에 액세스 할 수 없습니다.SSL 오류로 인해 HTML 스크랩 사이트를 사용할 수 없음

여기 내 코드입니다 :

if (!extension_loaded('openssl')){ 
    // not occurring 
} 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'https://www.chase.com/'); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HEADER, 1); 

$result = curl_exec($ch); 

if($result === false) 
{ 
    $err = curl_error($ch); 
    //$err = SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054 
} 

$result 항상 FALSE이며,이 오류 메시지를 보여줍니다

SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054 

그러나 SSL이 다른 웹 사이트에서 작동합니다. 또한 phpinfo()을 확인했는데 cURL과 OpenSSL이 활성화되어 있습니다. 나는 WAMP, 어떤 아이디어를 사용하고 있습니까?

+1

은 왜 은행 웹 사이트를 긁어하려고하는 [리눅스 기반 서버에서이 라이브러리 코드를 사용, 그것은 XAMPP 또는 WAMP에서 작동하지 않습니다 수 있습니다]? –

답변

2

사용자 에이전트를 설정해야합니다. 나는 하나를 가지고 테스트했는데 문제를 수정했다. 체이스는 요청에 UA가 제공되기를 원한다.

그래서이 추가

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US)'); 
+0

하지만 실제로 SSL 오류가 발생하지 않았습니까? –

+0

와우 당신이 옳습니다 :/ 고마워! 추신 : 저는 실제로 사용자 에이전트를 설정하고있었습니다 (쓸모없는 줄을 몇 개 제거했습니다).하지만 올바르게 설정하지 않았다고 생각합니다. – xtrimsky

+0

@DanielStenberg 네, 같은 오류가 있습니다. 물론'echo $ err; '을 추가해야했습니다. –

관련 문제