<?php
class http{
var $proxy_host="";
var $proxy_port="0";
var $http_fp="";

function http_fopen($host,$path,$port="80"){
       if(empty($this->proxy_host)){
           $conn_host=$host;
       $conn_port=$port;
     }
     else{
           $conn_host=$this->proxy_host;
       $conn_port=$this->proxy_port;
     }
     //
     $path=$this->slashUrl($path);;
     //
     $abs_url="http://$host:$port$path";
     $query="GET $abs_url HTTP/1.0\r\n".
          "HOST:$host:$port\r\n".
          "User-agent:PHP/class http 0.1\r\n".
          "\r\n";
     $fp=fsockopen($conn_host,$conn_port);
     if(!$fp){
          return false;
     }
     fputs($fp,$query);
     while(trim(fgets($fp,"1024")!="")){
      $this->http_fp=$fp;
          return $fp;
       }
}
//得到查询内容
function http_fget(){
   if($this->http_fp!=""){
      $content=fread($this->http_fp,"9999999");
    $content=$this->trimHeader($content);
    return $content;
   }
}
//对路径的处理,如果前面没有/,就加一个
function slashUrl($url){
    if(!ereg("^/",$url)){
       return "/".$url;
  }
  else{
       return $url;
  }
}
//对获得内容进行处理,去掉头部信息
function trimHeader($content){
    $array=split("\n\r",$content,"2");
  return trim($array["1"]);
}
}

$http=new http;
//代理服务器设置
$http->proxy_host="125.64.92.61";
$http->proxy_port="8080";

//www.baidu.com是主机地址,第二个参数是具体的目标
$fp=$http->http_fopen("www.baidu.com","/baidu?word=%C0%EE%B0%D7&cl=3");
if(!$fp){
    echo"sorry,con't connect";
  exit;
}
//得到返回的结果
echo $http->http_fget($fp);

?>
Extra Info
This entry comes from 本站原创.It has been read for 869 times.You may Leave a comment or 引用(0) this entry.
1 Responses
2008/02/29 13:45
呵呵,以上程序中的代理可用
再补上1个
219.129.239.159:80
分页: 1/1 第一页 1 最后页
发表评论
昵称

网址

电邮

打开HTML 打开UBB 表情 打开表情 隐藏 记住我 [注册]