2015-02-06 3 views
1

컬을 사용하여 html 페이지를 검색하려고했습니다.컬을 통해 html5 페이지를 반환하는 방법은 무엇입니까?

curl -o out.html -L -b cco.txt -c cco.txt -d "site=it&redirect_url=aHR0cDovL2l0LmFkdmZuLmNvbS9wLnBocD9waWQ9bW9u&login_username=NAME&login_password=PWWW&login_submit=Accedi" https://secure.advfn.com/login/secure 

내가, 코드 HTML5와 웹 페이지를 얻을 수 있지만, 처리 데이터 없음 : 나는 다음과 같은 명령을 사용하여 웹 사이트에 로그인 한 후 .

브라우저 스냅 샷과 같은 데이터를 어떻게 가져올 수 있습니까? 이미지가 없습니다 (jpg, png ...)이지만 텍스트 파일입니다.

+0

"데이터"는 무엇을 의미합니까? 기본적으로 웹 페이지는 형식이 지정된 텍스트입니다. 그것은 사이트 콘텐츠가 javascript를 사용하여 동적으로 구축 될 수 있습니다. 어떤 자바 스크립트도 실행하지 않으므로 컬을 통해 전체 내용을 가져올 수 없습니다. –

+0

사실! 사이트 내용은 브라우저 창에서 지속적으로 동적으로 작성 및 업데이트되지만 컬은 코드 만 반환합니다. – bleish

+0

이 경우 실제로 페이지 자체를 요청할 필요는 없지만 webservice/API/js 파일/데이터를 가져 와서 html로 표시 할 수 있습니다. –

답변

1

내 질문에 대한 답변을 찾았습니다. 간단히 말하면, 컬은 틀립니다. 내가 PhantomJS 사용 아래의 간단한 코드 : 그런 다음

var page = require('webpage').create(), 
    server = 'https://secure.advfn.com/login/secure', 
    data = 'site=it&redirect_url=aHR0cDovL2l0LmFkdmZuLmNvbS9wLnBocD9waWQ9bW9u&login_username=bl&login_password=PPPPPPP&login_submit=Accedi'; 


page.open(server, 'post', data, function (status) { 
    if (status !== 'success') { 
    console.log('Unable to post!'); 
    } else { 
    console.log(page.content); 
    } 
    page.render('example.png'); //optional 
    phantom.exit(); 
}); 

, 그것은 콘솔에서 실행할 수 있습니다 :

[email protected] $ phantomjs --debug=true --ssl-protocol=any --cookies-file=cook.txt script.js > page 

을 렌더링 페이지와 필요한 모든 데이터가 포함 된 텍스트 파일을 모두 획득, 분석에 읽기 .

+0

Lol 방금 PhantomJS를 발견했습니다. (이미 이름을 보았지만 그 뒤에 무엇이 있는지 궁금합니다. ..) 그리고 그 방향으로 당신을 가리키기 위해 여기에서 되돌아오고 있었다. –

관련 문제