balpom / downloader
此包已被弃用,不再维护。未建议替代包。
通过简单接口下载指定URI的内容。
v0.8.0
2024-04-13 13:42 UTC
Requires
- php: >=8.0.3
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^2.0
Requires (Dev)
- nyholm/psr7: ^1.7.0
- webclient/webclient: ^1.0
README
为指定URI上的内容下载提供简单接口和简单实现。
此下载器对于网站解析、与REST API合作以及通过HTTP协议处理其他WEB资源非常有用。本版本的包包含基于PSR-18的接口实现。计划实现通过Selenium WebDriver工作的实现。
要求
- PHP >= 8.0.3
安装
使用composer(推荐)
composer require balpom/downloader
使用示例
此下载器需要实现ResponseFactoryInterface、StreamFactoryInterface和UriFactoryInterface接口的对象,这些接口在PSR-17规范中定义。一个同时实现所有这些接口的优秀库(一体化)是Nyholm/psr7 - 将使用它。
此下载器还需要一个实现PSR-18规范中定义的ClientInterface的HTTP客户端。例如,将使用phpwebclient/webclient。
安装第三方包
composer require nyholm/psr7
composer require webclient/webclient
下载器创建
$factory = new \Nyholm\Psr7\Factory\Psr17Factory(); $client = new \Webclient\Http\Webclient($factory, $factory); // Psr18Factories(RequestFactoryInterface $request, StreamFactoryInterface $stream, UriFactoryInterface $uri) $factory = new \Balpom\Downloader\Factory\Psr18Factories($factory, $factory, $factory); $downloader = new \Balpom\Downloader\Psr18Downloader($client, $factory);
下载URI
为测试目的,将向https://ipmy.ru发送请求。
$downloader = $downloader->get('http://ipmy.ru/ip'); echo $downloader->code(); echo PHP_EOL; // Must be 200. echo $downloader->content(); echo PHP_EOL; // Must be your IP.
在"tests/psr18test.php"文件中可以找到扩展示例 - 只需运行它
php tests/psr18test.php
许可协议
MIT许可协议 请参阅LICENSE.MD