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

PHP implementation httpclient class example_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:34:321054browse

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...
Statement:
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