HTML2011. 5. 9. 22:51
function getHttpByProxy($_url, $_proxy_name = null, $_proxy_port = 4480, $uid=null, $passwd=null){ 
  //if(is_null($_proxy_name) || LOCAL_TEST){
  if(is_null($_proxy_name)) {
    return readfile($_url); 
  }else{ 
    $proxy_cont = ''; 

    $proxy_fp = pfopen($_url, $_proxy_name, $_proxy_port, $uid, $passwd); 
    while(!feof($proxy_fp)) {$proxy_cont .= fread($proxy_fp,4096);} 
   
    $proxy_cont = substr($proxy_cont, strpos($proxy_cont,"\r\n\r\n")+4); 
    fclose($proxy_fp); 
    
    return $proxy_cont;
  } 
function pfopen($_url, $_proxy_name = null, $_proxy_port = 4480, $uid, $passwd) { 
  //if(is_null($_proxy_name) || LOCAL_TEST){
  if(is_null($_proxy_name)){
    echo "is_null_proxy_name\r\n";
    return fopen($_url,80);
  }else{ 
    $proxy_fp = fsockopen($_proxy_name, $_proxy_port); 
    if (!$proxy_fp) return false; 
    $request = makeHTTPHeader($_url, $uid, $passwd);
    echo "req : [$request]\r\n";
    fputs($proxy_fp, $request); 

    return $proxy_fp; 
  } 
}

function makeHTTPHeader($url, $uid=null, $passwd=null)
{
  $host=strBetween($url,"http://","?");
  $header="GET $url HTTP/1.0\r\n";
  $header.="Host: $host\r\n";
  
  $header.="User-Agent: PHP Agent\r\n";
  $header.="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
  $header.="Accept-Language: en-us,en;q=0.5\r\n";
  $header.="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
  
  
  if($uid!=null && $passwd!=null) {
    $auth="$uid:$passwd";
    $auth=base64_encode($auth);
    $header.="Authorization: Basic $auth\r\n";
  }
  
  $header.="\r\n";
  
  return $header;
}
function strBetween($str,$start_delim,$end_delim) {
  //if(strpos($str,$start_delim) == FALSE) // if there is no start_delim in str
  //  $c1 = $str;
 // else
    $c1 = substr($str, strpos($str,$start_delim)+strlen($start_delim));
  $c1_end=strpos($c1,$end_delim);
  
  if($c1_end == FALSE)  // if there is no end_delim in str
    $c1_sub = $c1;
  else
    $c1_sub = substr($c1,0,$c1_end);
  return $c1_sub;
}

 //$cont = utf8_decode($cont);
 echo "[$cont]\r\n";
 $fp = fopen("res.xml","w");
 fwrite($fp, $cont, strlen($cont));
 fclose($fp);
?>
Posted by 아이맥스