Download the PHP package iry/request without Composer
On this page you can find all versions of the php package iry/request. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package request
中文简体 ----- English
简介
该包通过对CURL的封装,轻松实现各种情况下的网络请求。 支持支持单线程和多线程并发请求。 可以随时无缝切换单线程和多线程的并发请求。
安装
使用示例
1. Helper 助手函数
2. Request 使用方法:
示例
支持的方法:
- getResult :获取所有请求结果,返回一个数组,每一元素是一个任务的结果
- call: 发送请求并将结果通过匿名闭包函数处理 推荐使用(特别适合大量的请求批量使用)
- setThread:设置线程数量
- on: 监听事件
- add:添加一个请求任务
- setTasks:批量设置一批任务
3. Request 各种用法的示例:
①. 简单使用【适用小的返回数据】
②. 使用 ADD 添加多个任务,实现多线程并发请求
发送请求
getResult方法
返回一个二维数组,requestID为键,处理结果的逻辑代码如下
以上是常规的业务流程,但是有一个弊端,必须等所有请求都完成之后在统一处理。 任务过程中任务太多占用内存较多。同时只要一个慢会导致所有请求的结果处理推后。
所以推荐如下方法处理 用 $http->call()方法代替 $http->getResult()
call方法
参数:
- callback function($requestID,$resVi,$request,$this){....}
- $maxRetryTimes 错误时最大重试次数 默认0(不重试)
③. retry方法可以很方便加入重试
参考上面代码
④. 使用批量添加任务
⑤. 监听动作【事件功能】
支持的事件
⑥. 下在文件 特别是下载大文件。
一边下载一边写入文件不会占用太多内存
用法如上
⑦ __construct,add 第二个 config参数
常用参数:
- post: form-data array / raw-value 如:['name'=>'jack','id'=>123456]
相当于同时 设置 CURLOPT_POST:1 , CURLOPT_POSTFIELDS:form-data - to_file: fielName 将结果写入文件,边下载边写入到文件,
作用比较适合下载大文件或者大量数据内容。 参考 curl_setopt函数的第二个参数
config 为:
声明:
使用之前请先读README.txt;
All versions of request with dependencies
PHP Build Version
Package Version
Requires
php Version
>=5.4.0
ext-json Version *
ext-curl Version *
ext-json Version *
ext-curl Version *
The package iry/request contains the following files
Loading the files please wait ....