承接 fastgoo/async-http-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

fastgoo/async-http-client

最新稳定版本:v1.2.0

Composer 安装命令:

composer require fastgoo/async-http-client

包简介

基于swoole扩展的HTTP异步请求扩展包,需要依赖swoole扩展

README 文档

README

Latest Version Php Version Swoole Version

简介

基于 Swoole 异步客户端的扩展包,可以像使用 GuzzleHttp 简单优雅的使用swoole的异步客户端,无需关注底层实现以及处理逻辑。可实现同时发起N个HTTP请求不会被阻塞。经测试循环并发100个请求,全部返回结果只需要3-4秒的时间。

  • 基于 Swoole 扩展
  • 需在CLI模式下运行
  • 支持HTTPS 与 HTTP 2种协议
  • 使用 HTTPS 必须在编译swoole时启用--enable-openssl
  • 解决高并发请求(可做接口压测)
  • 异步 HTTP 请求,非阻塞
  • 该扩展适用于目前所有现代框架
  • 作者qq 773729704、微信 huoniaojugege  加好友备注github

更新记录

  • 2018.03.30 去掉get请求的参数,参数让用户自己带在URL上

参考文档

中文文档

环境要求

  1. PHP 7.0 +
  2. Swoole 1.9 +
  3. Composer

Composer 安装

  • composer require fastgoo/async-http-client

使用范例

# ----------HTTP 请求(请求方式 get post put delete)--------
$client = new \AsyncClient\Client("https://open.fastgoo.net");
$params = [
    'address' => '邮箱',
    'subject' => '标题',
    'body' => '内容',
];

# 单请求
$client->post('/base.api/email/send', $params, function (\Swoole\Http\Client $client) {
    var_dump($client->body);
});

# 多请求
foreach (range(1, 50) as $v) {
    $client->post('/base.api/email/send', $params, function (\Swoole\Http\Client $client) {
        var_dump($client->body);
    });
}

# 发送请求文件
$client->setFiles(['files' => __DIR__ . '/fastgoo-logo.png'])->post('/base.api/file/upload',[],function (\Swoole\Http\Client $client) {
    var_dump($client->body);
})

# 开始发送请求
$client->send();
# -----------------------------END--------------------------



# 下载文件范例
$client = new \AsyncClient\Client("https://timgsa.baidu.com");
$client->download('/timg?image&quality=80&size=b9999_10000&sec=1521617943&di=913c0898b55cf2992d6d5136013e98d2&imgtype=jpg&er=1&src=http%3A%2F%2Fimg.taopic.com%2Fuploads%2Fallimg%2F120727%2F201995-120HG1030762.jpg', './logoaa.png', function (\Swoole\Http\Client $client) {
    var_dump($client);
});
$client->send();


# 静态对象实例化请求
\AsyncClient\Client::init("https://open.fastgoo.net")->post('/base.api/email/send', [], function (\Swoole\Http\Client $client) {
    var_dump($client->body);
})->send();

# 请求设置Cookies 和 Headers
$client->setCookies([]);
$client->setHeaders([]);

# 重点强调,由于默认不设置ip会自动异步解析DNS取到IP然后才能创建客户端,
# 异步解析DNS需要在CLI的模式下才能使用
# 如果条件允许的情况下尽量存取IP然后去发起请求,不然调外部网络会造成请求阻塞,性能优势会有所下降
$client->setDnsIp('192.168.1.1');

统计信息

  • 总下载量: 166
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 12
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 11
  • Watchers: 2
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-03-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固