<?php
class Http{
protected $url=null;
protected $version="HTTP/1.1";
protected $errno='-1';
protected $errstr="";
protected $fp="";
protected $response='';
public $line=array();
public $header=array();
public $body=array();
public function __construct($url){
$this->conn($url);
$this->setheader("Host: ".$this->url['host']);
}
public function setline($method){
$this->line[0]=$method." ".$this->url['path']." ".$this->version;
}
public function setheader($header){
$this->header[]=$header;
}
public function setbody($body){
$this->body[]=http_build_query($body);
}
public function sendGet(){
$this->setline('GET');
$this->request();
return $this->response;
}
public function sendPost(){
}
public function conn($url){
$this->url=parse_url($url);
if(!isset($this->url['port'])){
$this->url['port']=80;
}
$this->fp=fsockopen($this->url['host'],$this->url['port'],$this->errno,$this->errstr,10);
}
public function request(){
$req=array_merge($this->line,$this->header,array(''),$this->body,array(''));
$req=implode("\r\n",$req);
//echo $req;
fwrite($this->fp,$req);
while(!feof($this->fp)){
$this->response.=fread($this->fp,1204);
}
$this->close();
}
public function close(){
if($this->fp){
fclose($this->fp);
}
}
}
$http=new Http('http://news.163.com/13/0613/09/9187CJ4C00014JB6.html');
echo $http->sendGet();
?>
class Http{
protected $url=null;
protected $version="HTTP/1.1";
protected $errno='-1';
protected $errstr="";
protected $fp="";
protected $response='';
public $line=array();
public $header=array();
public $body=array();
public function __construct($url){
$this->conn($url);
$this->setheader("Host: ".$this->url['host']);
}
public function setline($method){
$this->line[0]=$method." ".$this->url['path']." ".$this->version;
}
public function setheader($header){
$this->header[]=$header;
}
public function setbody($body){
$this->body[]=http_build_query($body);
}
public function sendGet(){
$this->setline('GET');
$this->request();
return $this->response;
}
public function sendPost(){
}
public function conn($url){
$this->url=parse_url($url);
if(!isset($this->url['port'])){
$this->url['port']=80;
}
$this->fp=fsockopen($this->url['host'],$this->url['port'],$this->errno,$this->errstr,10);
}
public function request(){
$req=array_merge($this->line,$this->header,array(''),$this->body,array(''));
$req=implode("\r\n",$req);
//echo $req;
fwrite($this->fp,$req);
while(!feof($this->fp)){
$this->response.=fread($this->fp,1204);
}
$this->close();
}
public function close(){
if($this->fp){
fclose($this->fp);
}
}
}
$http=new Http('http://news.163.com/13/0613/09/9187CJ4C00014JB6.html');
echo $http->sendGet();
?>