转帖:http://www.techmango.com/blog/article.asp?id=172
<?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="10.14.81.81";
$http->proxy_port="6666";
//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);
?>