请求响应类

优质
小牛编辑
135浏览
2023-12-01

介绍

YurunHttp 的请求响应类,结果类。除了遵循 PSR-7 规范,另外还增加了一些人性化的方法。

类:Yurun\Util\YurunHttp\Http\Response

use Yurun\Util\HttpRequest;

$http = new HttpRequest;
$response = $http->get('http://www.baidu.com');

方法

响应内容(页面内容)

$content = $response->body();

自动编码转换

// gb2312 转 UTF-8
$content = $response->body('gb2312', 'UTF-8');

json

// 返回对象
$data = $response->json();

// 返回数组
$data = $response->json(true);

// gb2312 转 UTF-8
$data = $response->json(true, 'gb2312', 'UTF-8');

jsonp

获取 jsonp 格式内容,去除方法名,像 json 一样转为数据

// 返回对象
$data = $response->jsonp();

// 返回数组
$data = $response->jsonp(true);

// gb2312 转 UTF-8
$data = $response->jsonp(true, 'gb2312', 'UTF-8');

xml

// 返回 \SimpleXMLElement 对象
$data = $response->xml();

// 返回数组
$data = $response->xml(true);

// gb2312 转 UTF-8
$data = $response->xml(false, 'gb2312', 'UTF-8');

响应头

获取单个响应头:

var_dump($response->getHeaderLine('Content-Type'));

响应头是否存在:

var_dump($response->hasHeader('Content-Type'));

获取所有响应头:

var_dump($response->getHeaders());

Cookie

获取 Cookie 值:

// 通常用法
var_dump($response->getCookie('a'));

// 设置默认值为 test
var_dump($response->getCookie('a', 'test'));

获取所有 Cookie:

var_dump($response->getCookieParams());

获取所有cookie原始参数,包含expires、path、domain等:

var_dump($response->getCookieOriginParams());

获取cookie原始参数值,包含expires、path、domain等:

// 通常用法
var_dump($response->getCookieOrigin('a'));

// 设置默认值为 test
var_dump($response->getCookieOrigin('a', 'test'));

状态码

两个用法一致:

var_dump($response->httpCode());

var_dump($response->getStatusCode());

获取请求耗时

两个用法一致:

var_dump($response->totalTime());

var_dump($response->getTotalTime());

错误相关

// 错误代码-两个用法一致:
var_dump($response->errno());
var_dump($response->getErrno());

// 错误信息-两个用法一致:
var_dump($response->error());
var_dump($response->getError());

获取请求体

/** @var \Yurun\Util\YurunHttp\Http\Request $request */
$request = $response->getRequest();

获取 http2 streamId

var_dump($response->getStreamId());