您当前的位置: 首页 > 网站编程 > PHP教程 > php实现httpclient类示例

php实现httpclient类示例

作者:不详 来源:网络 发布时间: 2014-08-03 14:46 点击:
这篇文章主要介绍了php实现httpclient类示例,需要的朋友可以参考下 代码如下: httpClient::init($httpClient, $args = null); $httpClient-get($url, $data = null, $cookie = null); var_dump($httpClient-buffer); 代码如下: ?php class httpClient { public $buffer

php实现httpclient类示例

  这篇文章主要介绍了php实现httpclient类示例,需要的朋友可以参考下

  代码如下:

  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. "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; // 获取 请求头部信息

  echo $httpClient->response; // 获取 响应的头部信息

  echo $httpClient->buffer; // 获取 网页内容

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

  echo $httpClient->buffer;
分享到:
本文"php实现httpclient类示例"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4