YurunHttp v3.1.0,支持 Curl&Swoole 的 HTTP 请求库

栏目: PHP · 发布时间: 4年前

内容简介:YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。3.x 版完美支持 Curl、Swoole 协程。

YurunHttp 是开源的 PHP HTTP 类库,支持链式操作,简单易用。

支持所有常见的 GET、POST、PUT、DELETE、UPDATE 等请求方式,支持上传下载、设置和读取 header、Cookie、请求参数、失败重试、限速、代理、证书等。

3.x 版完美支持 Curl、Swoole 协程。

我们有完善的在线技术文档: http://doc.yurunsoft.com/YurunHttp

API 文档: https://apidoc.gitee.com/yurunsoft/YurunHttp

Gitee: https://gitee.com/yurunsoft/YurunHttp

Github: https://github.com/Yurunsoft/YurunHttp

git仓库中test目录里是示例代码!

更新日志(v3.1.0):

新增:

  • 新增 CookieManager,用于管理一个实例下的会话。现在同一个HttpRequest类实例,会 自动管理 Cookie

  • 增加 测试用例(PHP5.4 - PHP7.3) 、示例代码

优化:

  • 现在只有状态码为301、302、303,才更改重定向请求方法为 GET

  • 优化 StatusCode 类

  • Swoole 重定向地址的 host、port、scheme 与上一个地址保持一致的话,复用 $client

  • 同一个 HttpRequest 对象重复请求时,Curl 资源不再重新 init

  • Uri->getPort() 不再根据协议自动返回缺省端口

    新增 Uri::getServerPort() 方法获取端口,支持获取缺省

  • Uri::getDomain() 方法改为静态方法

  • 优化 close()、__destruct()

  • Curl CURLOPT_COOKIEJAR 默认值改为 php://memory,不再写入文件

  • 优化 Curl header 处理性能

修复:

  • 修复 Swoole Handler Host 不带端口号问题

Composer

本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json 中加入下面的内容

{
    "require": {
        "yurunsoft/yurun-http": "~3.1"
    }
}

然后执行 composer update 安装。

之后你便可以使用 include "vendor/autoload.php"; 来自动加载类。(ps:不要忘了namespace)

用法

简单调用

<?php
use Yurun\Util\HttpRequest;

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

echo 'html:', PHP_EOL, $response->body();

PSR-7 请求构建

<?php
use Yurun\Util\YurunHttp\Http\Request;
use Yurun\Util\YurunHttp;

$url = 'http://www.baidu.com';

// 构造方法定义:__construct($uri = null, array $headers = [], $body = '', $method = RequestMethod::GET, $version = '1.1', array $server = [], array $cookies = [], array $files = [])
$request = new Request($url);

// 发送请求并获取结果
$response = YurunHttp::send($request);

var_dump($response);

Swoole 协程模式

<?php
use Yurun\Util\YurunHttp;
use Yurun\Util\HttpRequest;

// 设置默认请求处理器为 Swoole
YurunHttp::setDefaultHandler('Yurun\Util\YurunHttp\Handler\Swoole'); // php 5.4
// YurunHttp::setDefaultHandler(\Yurun\Util\YurunHttp\Handler\Swoole::class); // php 5.5+

// Swoole 处理器必须在协程中调用
go('test');

function test()
{
    $http = new HttpRequest;
    $response = $http->get('http://www.baidu.com');
    echo 'html:', PHP_EOL, $response->body();
}

具体详见 examples 目录中的示例代码


以上所述就是小编给大家介绍的《YurunHttp v3.1.0,支持 Curl&Swoole 的 HTTP 请求库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java Web编程从入门到实践

Java Web编程从入门到实践

徐林林 / 清华大学出版社 / 2010-3 / 59.80元

《Java Web编程从入门到实践》内容简介:Java Web开发是目前最流行的网络开发技术之一。《Java Web编程从入门到实践》由浅入深,结合大量的实例系统地讲解了关于Java Web开发方面的知识。全书内容包括Java Web开发的基础知识、Java Web开发环境的搭建、JSP技术详解、Servlet技术详解、JSP+Servlet+JavaBean开发模式、JDBC接口的使用方法、Hi......一起来看看 《Java Web编程从入门到实践》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码