复制代码 代码如下:
httpClient::init($httpClient, $args = null);
$httpClient->get($url, $data = null, $cookie = null);
var_dump($httpClient->buffer);
复制代码 代码如下:
<?php
class httpClient {
public $buffer = null; // buffer 获取返回的字符串
public $referer = null; // referer 设置 HTTP_REFERER 的网址
public $response = null; // response 服务器响应的 header 信息
public $request = null; // request 发送到服务器的 header 信息
private $args = null;
public static function init(&$instanceof, $args = array()) {
return $instanceof = new self($args);
}
private function __construct($args = array()) {
if(!is_array($args)) $args = array();
$this->args = $args;
if(!empty($this->args["debugging"])) {
ob_end_clean();
set_time_limit(0);
header("Content-Type: text/plain; charset=utf-8");
}
}
public function get($url, $data = null, $cookie = null) {
$parse = parse_url($url);
$url .= isset($parse["query"]) ? "&". $data : ( $data ? "?". $data : "" );
$host = $parse["host"];
$header = "Host: ". $host. "
";
$header .= "Connection: close". "
";
$header .= "Accept: */*". "
";
$header .= "User-Agent: ". ( isset($this->args["userAgent"]) ? $this->args["userAgent"] : $_SERVER["HTTP_USER_AGENT"] ). "
";
$header .= "DNT: 1". "
";
if($cookie) $header .= "Cookie: ". $cookie. "
";
if($this->referer) $header .= "Referer: ". $this->referer. "
";
$options = array();
$options["http"]["method"] = "GET";
$options["http"]["header"] = $header;
$response = get_headers($url);
$this->request = $header;
$this->response = implode("
", $response);
$context = stream_context_create($options);
return $this->buffer = file_get_contents($url, false, $context);
}
public function post($url, $data = null, $cookie = null) {
$parse = parse_url($url);
$host = $parse["host"];
$header = "Host: ". $host. "
";
$header .= "Connection: close". "
";
$header .= "Accept: */*". "
";
$header .= "User-Agent: ". ( isset($this->args["userAgent"]) ? $this->args["userAgent"] : $_SERVER["HTTP_USER_AGENT"] ). "
";
$header .= "Content-Type: application/x-www-form-urlencoded". "
";
$header .= "DNT: 1". "
";
if($cookie) $header .= "Cookie: ". $cookie. "
";
if($this->referer) $header .= "Referer: ". $this->referer. "
";
if($data) $header .= "Content-Length: ". strlen($data). "
";
$options = array();
$options["http"]["method"] = "POST";
$options["http"]["header"] = $header;
if($data) $options["http"]["content"] = $data;
$response = get_headers($url);
$this->request = $header;
$this->response = implode("
", $response);
$context = stream_context_create($options);
return $this->buffer = file_get_contents($url, false, $context);
}
}
httpClient::init($httpClient, array( "debugging" => true , "userAgent" => "MSIE 15.0" ));
$httpClient->get("http://www.baidu.com", "name=haowei");
echo $httpClient->request; // 获取 请求头部信息
echo $httpClient->response; // 获取 响应的头部信息
echo $httpClient->buffer; // 获取 网页内容
$httpClient->get("http://www.jb51.net/ServiceLogin/", "hash=". $time, "uid=1;users=admin;")
echo $httpClient->buffer;