Home > Backend Development > PHP Tutorial > PHP implementation httpclient class example_PHP tutorial

PHP implementation httpclient class example_PHP tutorial

WBOY
Release: 2016-07-13 10:34:32
Original
1152 people have browsed it

Copy code The code is as follows:

httpClient::init($httpClient, $args = null);
$ httpClient->get($url, $data = null, $cookie = null);
var_dump($httpClient->buffer);

Copy code The code is as follows:

class httpClient {

public $buffer = null; // buffer gets the returned string
public $referer = null; // referer sets the URL of HTTP_REFERER
public $response = null ; // response header information of the server response
public $request = null; // request header information sent to the server
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. "rn";
$header .= 'Connection: close'. "rn";
$header .= 'Accept: */*'. "rn";
$header .= 'User-Agent: '. ( isset($this->args['userAgent' ]) ? $this->args['userAgent'] : $_SERVER['HTTP_USER_AGENT'] ). "rn";
$header .= 'DNT: 1'. "rn";
if( $cookie) $header .= 'Cookie: '. $cookie. "rn";
if($this->referer) $header .= 'Referer: '. $this->referer. "rn" ;

$options = array();
$options['http']['method'] = 'GET';
$options['http']['header'] = $header;

$response = get_headers($url);
$this->request = $header;
$this->response = implode("rn", $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. "rn";
$header .= 'Connection: close'. "rn";
$header .= 'Accept: */*'. "rn ";
$header .= 'User-Agent: '. ( isset($this->args['userAgent']) ? $this->args['userAgent'] : $_SERVER['HTTP_USER_AGENT' ] ). "rn";
$header .= 'Content-Type: application/x-www-form-urlencoded'. "rn";
$header .= 'DNT: 1'. "rn" ;
if($cookie) $header .= 'Cookie: '. $cookie. "rn";
if($this->referer) $header .= 'Referer: '. $this-> ;referer. "rn";
if($data) $header .= 'Content-Length: '. strlen($data). "rn";

$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("rn", $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; // Get the request header information
echo $httpClient->response; // Get the response header information
echo $httpClient->buffer; // Get web content

$httpClient->get('http://www.jb51.net/ServiceLogin/', 'hash='. $time, 'uid=1;users=admin;')

echo $httpClient->buffer;

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/750861.htmlTechArticleCopy the code as follows: httpClient::init($httpClient, $args = null); $httpClient-get( $url, $data = null, $cookie = null); var_dump($httpClient-buffer); Copy the code as follows...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template