티스토리 뷰

이번에 PHP로 개발을 하게 되었는데 ASP로 작성된 다른 사이트의 내용을 가져와야 하는 경우가 생겼습니다.

그래서 어떻게 할까 고민하는 도중 fsockopen() 함수를 이용한 소스를 발견하여 적용하니 만족할 만한 결과를 얻을 수 있었습니다.


제가 사용한 소스는 아래와 같습니다.


<!--페이지 가져오기 시작-->
<?php
function fetch_url($theurl) {
$url_parsed = parse_url($theurl);
$host = $url_parsed["host"];
$port = $url_parsed["port"];
if($port==0) $port = 80;
$the_path = $url_parsed["path"];
if(empty($the_path)) $the_path = "/";
if(empty($host)) return false;
if($url_parsed["query"] != "") $the_path .= "?".$url_parsed["query"];
$out = "GET ".$the_path." HTTP/1.0\r\nHost: ".$host."\r\n\r\nUser-Agent: Mozilla/4.0 \r\n";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
usleep(50);
if($fp) {
socket_set_timeout($fp, 30);
fwrite($fp, $out);
$body = false;
while(!feof($fp)) {
$buffer = fgets($fp, 128);
if($body) $content .= $buffer;
if($buffer=="\r\n") $body = true;
}
fclose($fp);
}else {
return false;
}
return $content;
}
echo fetch_url("http://rtquery.naver.com/rtquery_view.php?s=nexearch&n=20");
?>
<!--페이지 가져오기 끝-->





출처 : http://freeimage.kr/bbs/?tip_php=808



댓글