php如何使用代理读取远程网页? 用fopen肯定不行的,curl应该可以。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 fsockopen可以<?phpclass 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);?> 哪里可以下载到 linux的EclipsePHP的工具啊 谢谢了 这个myslq语句该怎么写? 请教ldap_search()取不到数据的问题 用一个方法来提交表单 一个正则表达式的问题 安装了PHP后ASP出现问题? PHP 连接MSSQL ,用UTF8提交到MSSQL,mssql 后台管理查询乱码问题? 有用过adodb中session的人吗? apache模块方式安装不能上传图片问题? 关于网上支付paypal/alipay 求教调用php文件处理图片,而无法显示的问题~~ 在开什么应用时适合用PHP的模板?
<?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);?>