익스플로러 외에 브라우져의 접근이 차단되어있거나 세션등으로 막은 경우 헤더조작이 까다로울 수 있습니다.
저 같은 경우 첫페이지에서 세션에 어떤 값을 넣어 첫페이지를 접근한 후 접속한 것이 아닌 사용자를 차단하는 사이트에서 소스를 얻을 필요가 있었는데요.
빨리 테스트해봐야해서 C#으로 웹브라우져 컴포넌트를 동원해서 작업하는 등 별 삽질을 다 했었습니다.
그.런.데
PHP에서 COM을 이용할 수 있는 함수가 있음을 알고 좌절했습니다. OTL
간단히 함수로 정리했습니다.
자... 보시죠(...)
뭐 결국 윈도우에 PHP5를 깔고 닷넷컴포넌트는 닷넷프레임워크만 깔아주면 된다는 거죠.
VB나 C#에서 사용하는 것이나 진배없는 속성들에 심하게 당황했습니다. PHP개발자들 대단하네요 -_-;;
COM클래스를 사용하게 되면...
MS Word, MS Excel, mdb 을 비롯한 상용 COM등 COM으로 만들어진 대부분의 처리가 가능한 것 같습니다 OTL
----------------------
예전에 써놨던 포스팅을 이사하면서 실수로 날렸었는데 "체리필터"님의 블로그에서 발견하고 역수입 -_-;;
다만 경험상 저렇게 ie object를 가져다 쓰고 해제해버리면 apache를 restart 시킬때까지 다시 살아나질 않았었다.
해서 최대한 해제하지 않고 한번 생성해서 우려먹었던 기억이...
저 같은 경우 첫페이지에서 세션에 어떤 값을 넣어 첫페이지를 접근한 후 접속한 것이 아닌 사용자를 차단하는 사이트에서 소스를 얻을 필요가 있었는데요.
빨리 테스트해봐야해서 C#으로 웹브라우져 컴포넌트를 동원해서 작업하는 등 별 삽질을 다 했었습니다.
그.런.데
PHP에서 COM을 이용할 수 있는 함수가 있음을 알고 좌절했습니다. OTL
간단히 함수로 정리했습니다.
자... 보시죠(...)
예제 :
function getHTMLSrc( $url ) {
// alloc COM (IE)
$ie = new COM("InternetExplorer.Application");
$ie->Visible = false;
$ie->Navigate($url);
while($ie->readyState!=4); // Loading Complete 확인
$srcHTML = $ie->Document->documentElement->outerHTML;
// free object
$ie->Quit();
unset($ie);
return $srcHTML;
}
function getHTMLSrc( $url ) {
// alloc COM (IE)
$ie = new COM("InternetExplorer.Application");
$ie->Visible = false;
$ie->Navigate($url);
while($ie->readyState!=4); // Loading Complete 확인
$srcHTML = $ie->Document->documentElement->outerHTML;
// free object
$ie->Quit();
unset($ie);
return $srcHTML;
}
필요사항은
PHP5 이상 Windows version.
.Net 컴포넌트는 PHP5 와 .Net runtime.
PHP5 이상 Windows version.
.Net 컴포넌트는 PHP5 와 .Net runtime.
뭐 결국 윈도우에 PHP5를 깔고 닷넷컴포넌트는 닷넷프레임워크만 깔아주면 된다는 거죠.
VB나 C#에서 사용하는 것이나 진배없는 속성들에 심하게 당황했습니다. PHP개발자들 대단하네요 -_-;;
COM클래스를 사용하게 되면...
MS Word, MS Excel, mdb 을 비롯한 상용 COM등 COM으로 만들어진 대부분의 처리가 가능한 것 같습니다 OTL
----------------------
예전에 써놨던 포스팅을 이사하면서 실수로 날렸었는데 "체리필터"님의 블로그에서 발견하고 역수입 -_-;;
다만 경험상 저렇게 ie object를 가져다 쓰고 해제해버리면 apache를 restart 시킬때까지 다시 살아나질 않았었다.
해서 최대한 해제하지 않고 한번 생성해서 우려먹었던 기억이...