balpom / downloader

此包已被弃用,不再维护。未建议替代包。

通过简单接口下载指定URI的内容。

v0.8.0 2024-04-13 13:42 UTC

This package is auto-updated.

Last update: 2024-06-13 14:05:52 UTC


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