复制代码 代码如下:
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("//www.rzxsoft.cn/ServiceLogin/", "hash=". $time, "uid=1;users=admin;")
echo $httpClient->buffer;