piedweb/curl
Composer 安装命令:
composer require piedweb/curl
包简介
curl OOP Wrapper
README 文档
README
Simple PHP Curl OOP wrapper for efficient request.
For a more complex or abstracted curl wrapper, use Guzzle.
Install
Via Packagist
$ composer require piedweb/curl
Usage
Quick Example :
$url = 'https://piedweb.com'; $request = new \PiedWeb\Curl\ExtendedClient($url); $request ->setDefaultSpeedOptions(true) ->setDownloadOnlyIf('PiedWeb\Curl\Helper::checkContentType') // 'PiedWeb\Curl\Helper::checkStatusCode' ->setDesktopUserAgent() ; $result = $request->request(); if ($result instanceof \PiedWeb\Curl\Response) { $content = $this->getContent(); }
Static Wrapper Methods :
use PiedWeb\Curl\StaticClient as Client; Client::request($url); // @return ?string Client::get(); // @return PiedWeb\Curl\ExtendedClient Client::reset()
All Other Methods :
$r = new PiedWeb\Curl\ExtendedClient(?string $url); $r ->setOpt(CURLOPT_*, mixed 'value') // Preselect Options to avoid eternity wait ->setDefaultGetOptions($connectTimeOut = 5, $timeOut = 10, $dnsCacheTimeOut = 600, $followLocation = true, $maxRedirs = 5) ->setDefaultSpeedOptions() // no header except if setted, 1 redir max, no ssl check ->setNoFollowRedirection() ->setReturnOnlyHeader() ->setCookie(string $cookie) ->setReferer(string $url) ->fakeBrowserHeader(bool $doIt = true) ->setUserAgent(string $ua) ->setDesktopUserAgent() ->setMobileUserAgent() ->setLessJsUserAgent() ->getUserAgent() // @return string ->setDownloadOnlyIf(callable $func) // @param $ContentType can be a String or an Array ->setMaximumResponseSize(int $tooBig = 200000) // @defaut 2Mo ->setDownloadOnly($range = '0-500') ->setPost(array $post) ->setEncodingGzip() ->setProxy(string '[scheme]proxy-host:port[:username:passwrd]') // Scheme, username and passwrd are facultatives. Default Scheme is http:// ->setTarget($url) ->getTarget() $r->request(); // @return true if request succeed else false (see getError) $response = $r->getResponse(); // @return PiedWeb\Curl\Response or int corresponding to the curl error $response->getUrl(); // @return string $response->getContentType(); // @return string $response->getContent(); // @return string $response->getHeaders($returnArray = true); // @return array Response Header (or in a string if $returnArray is set to false) $response->getCookies(); // @return string $response->getUrl(); // @return string $response->getError(); // Equivalent to curl function curl_errno $response->getErrorMessage(); // .. curl_error use PiedWeb\Curl\ResponseFromCache; $response = new ResponseFromCache( // same methods than Response except getRequest return null string $filePathOrContent, ?string $url = null, array $info = [], $headers = PHP_EOL.PHP_EOL );
Contributing
Please see contributing
Credits
License
The MIT License (MIT). Please see License File for more information.
piedweb/curl 适用场景与选型建议
piedweb/curl 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 44.46k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 01 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「curl」 「Pied Web」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 piedweb/curl 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 piedweb/curl 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 piedweb/curl 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
cURL and cURL based Soap-Client for PHP
Simple cURL wrapper
Model of a web-based resource
Semantic Analysis : Extract Expressions from a text and order it by density.
Harvest statistics and meta data from an URL or his source code (seo oriented).
Generate content from a spinned text (content spinning via spinning tool ak rephraser)
统计信息
- 总下载量: 44.46k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 14
- 依赖项目数: 7
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-01-07