웹에서 정보를 긁어올 때가 있습니다.
저는 정규표현식이 아닌 xpath를 이용하여 필요한 정보를 파싱해서 가져옵니다.
제 생각에는 정규표현식을 사용하는 것보다 이게 더 적절한 방식인 것 같습니다.
php에서 xpath를 이용하려면 dom객체를 생성하여 html파일을 로드해야하는데요, 이 때 로드할 파일을 넣거나 url을 입력합니다.
get방식으로 정보를 전송하는 페이지의 경우에는 url에 필요한 정보를 다 넣을 수 있어서 문제가 없지만, post방식은 url로 원하는 페이지를 요청할 수 없죠.
그렇기 때문에 중간(중개) 페이지가 하나 필요합니다.
이 중간 페이지는 최종적으로 원하는 페이지를 로드하기 위해 post로 정보를 전송하고, 요청된 페이지를 출력해주는 역할을 합니다.
그래서 중간 페이지를 주소창에 입력하면, 우리가 원하는 최종 페이지를 볼 수 있어야하겠죠?
이러한 중간 파일을 만들 때 들어가야할 코드입니다.
$postdata = http_build_query( array( 'var1' => 'some content', 'var2' => 'doh' ) ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); $context = stream_context_create($opts); $result = file_get_contents('http://post.php', false, $context); echo $result;
'프로그래밍 > PHP' 카테고리의 다른 글
XPath로 웹에서 필요한 부분을 가져오자! (0) | 2011.01.21 |
---|---|
php에서 파일이나 웹 페이지를 그대로 출력하는 방법 (0) | 2011.01.20 |
php에서 xml 출력시 주의할 점!!! (0) | 2011.01.20 |
웹 문서를 만들 때에는 validator를 꼭 사용하자!! (2) | 2010.01.04 |
웹 페이지 한글이 깨지는 문제 (3) | 2010.01.04 |