Skip to content

PHP 학습 php로 웹페이지 가져오기

2009.04.05 11:31

디케 조회 수:15926






php로 웹페이지 가져오기




웹이라는것은 100%오픈되어 있기 때문에 보안설정을 조금만 우회하시면

html  소스를  받아올 수 있습니다.

지금 싸이월드에 보안설정된것은 HTTP 통신시에 Header값으로 User-Agent속성을 요구하는것 같습니다.

보통 file()함수를 사용하면 Header값을 전달 할 수가 없습니다.

socket함수를 사용하시면 구현가능합니다.

아래에 간단한 예제소를 올려봅니다.

 

<?php
echo "<base href='http://minihp.cyworld.nate.com/pims/main'>";
echo get_url_title("http://minihp.cyworld.nate.com/pims/main/pims_main4.asp?tid=20957128");

function get_url_title($url, $timeout = 2)
{
   $url = parse_url($url);

   if(!in_array($url['scheme'],array('','http')))
       return;

   $fp = fsockopen ($url['host'], ($url['port'] > 0 ? $url['port'] : 80), $errno, $errstr, $timeout);
   if (!$fp)
   {
       return;
       // echo "$errstr ($errno)<br>\n";
   }
   else
   {
       fputs ($fp, "GET /".$url['path'].($url['query'] ? '?'.$url['query'] : '')." HTTP/1.0\r\nHost: ".$url['host']."\r\n");
       fputs($fp ,"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5\r\n\r\n");
       $d = '';
       $f=0;
       $p="";
       $c="";
       while (!feof($fp))
       {
          $c= fgets ($fp,2048);
          if($f==0  && $p=="\r\n" && $c=="\r\n")
           $f=1;
          if($f==0) { 
           $p=$c;
           continue;
          }
          $d .= $c;

       }
       fclose ($fp);

       return $d;
   }
}

?>



 

즐거운 하루 되세요!


Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소