boaPHP开发手册v5.5

http类
版本 1.0+
命名空间 boa
文件 boa/http.php
说明 HTTP请求类,配置:'HTTP' => [],
配置
配置项 默认值 类型 说明
driver curl string HTTP驱动,可选值:curl, socket
目录
方法 说明
__construct() 初始化
cfg() 获取或设置配置信息
get_posttype() 获取POST请求类型
get_header() 获取响应头
get_body() 获取响应正文
get_status() 获取响应状态码
get_error() 获取响应错误
set_cookie() 设置请求头Cookie
head() 仅获取头信息
get() GET请求,产生一条info日志
post() POST请求,产生一条info日志
upload() POST传输文件,产生一条info日志
方法

__construct()

说明
初始化
参数 必须 默认值 类型 说明
$cfg [] array 配置数据
示例
$http = boa::http();

cfg()

说明
获取或设置配置信息
参数 必须 默认值 类型 说明
$k null string
$v null string
返回值
同 base 类
示例
$http->cfg('posttype', 'json');

get_posttype()

说明
获取POST请求类型
返回值
返回请求类型(string)
示例
$http->post('http://...', [...]);
$posttype = $http->get_posttype();

get_header()

说明
获取响应头
返回值
返回响应头(string)
示例
$http->get('http://boasoft.top');
$header = $http->get_header();

get_body()

说明
获取响应正文
参数 必须 默认值 类型 说明
$encode null string 响应正文压缩类型,设置后自动解压,可选值:gzip, deflate
返回值
返回响应正文(string)
示例
$http->get('http://xxxx.com');
$body = $http->get_body();
$body = $http->get_body('deflate'); // 对压缩过的页面解压

get_status()

说明
获取响应状态码
返回值
返回响应状态码(int)
示例
$http->get('http://boasoft.top');
$status = $http->get_status();

get_error()

说明
获取响应错误
返回值
返回响应错误(string)
示例
$http->get('http://test.abc');
$error = $http->get_error();

set_cookie()

说明
设置请求头Cookie
参数 必须 默认值 类型 说明
$cookie Y string cookie字符串或cookie文件地址,cookie内容格式:x=1; y=2
返回值
返回$this(object)
示例
$http->set_cookie('PHPSESSID=4oipi9oep7a0qdvrtha81bges4');
$http->set_cookie(BS_VAR .'cookie/a.com.txt'); // 也可以为cookie文件
$http->get('http://boasoft.top');

head()

说明
仅获取头信息
参数 必须 默认值 类型 说明
$url Y string 要请求的URL
$key null string 要请求的头字段
返回值
返回头信息(array),如设置key,则返回该字段的头信息(string)
示例
$head = $http->head('http://boasoft.top');

get()

说明
GET请求,产生一条info日志
参数 必须 默认值 类型 说明
$url Y string 要请求的URL
返回值
返回$this(object)
示例
$http->get('http://boasoft.top');

post()

说明
POST请求,产生一条info日志
参数 必须 默认值 类型 说明
$url Y string 要请求的URL
$data null mixed 请求正文字符串,如json、xml、表单等,如为数组则会依据posttype自动转为相应类型字符串
返回值
返回$this(object)
示例
$http->post('http://boasoft.top/login.php', ['user' => 'poetbi', 'pass' => '888888']);

upload()

说明
POST传输文件,产生一条info日志
参数 必须 默认值 类型 说明
$url Y string 要请求的URL
$file Y mixed 单个文件(string)或多个文件(array),数组中每个文件格式:'表单字段' => '文件路径[;文件MIME]',文件MIME可省略
$form [] array 附加表单数据
返回值
返回$this(object)
示例
$file = ['avatar' => BS_WWW .'res/img.png;image/png', 'readme' => BS_WWW .'/res/file.txt;text/plain'];
$data = ['name' => 'test', 'age' => 18];
$http->upload('http://boasoft.top/test.php', $file, $data);