juliangut / spiral
一个支持PSR7的cURL客户端
0.4
2017-06-03 15:19 UTC
Requires
- php: ^5.5|^7.0
- ext-curl: *
- lib-curl: *
- fig/http-message-util: ^1.0
- psr/http-message: ^1.0
- zendframework/zend-diactoros: ^1.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^1.0
- phpmd/phpmd: ~2.2
- phpunit/phpunit: ~4.5|^5.0
- sebastian/phpcpd: ~2.0
- squizlabs/php_codesniffer: ~2.3
README
支持PSR7的cURL客户端
PSR7兼容的cURL客户端。
使用PSR7请求和响应对象通过cURL执行HTTP请求。
安装
最佳安装方式是使用Composer
composer require juliangut/spiral
然后包含自动加载文件
require_once './vendor/autoload.php';
用法
use Jgut\Spiral\Client; // Create Spiral cURL client $spiralClient = new Client; // Create \Psr\Http\Message\RequestInterface request and configure it $request = new PSR7RequestImplementation(); // Perform the request providing an empty \Psr\Http\Message\ResponseInterface response object to be populated $response = $spiralClient->request($request, new PSR7ResponseImplementation()); // Use response $headers = $response->getHeaders(); $content = (string) $response->getBody();
传输
您可以创建一个空的cURL传输对象,稍后设置其选项
$transport = new Curl; $spiralClient = new Client($transport);
或者您可以从默认值创建传输对象
$transport = Curl::createFromDefaults(); $spiralClient = new Client($transport);
如果未向 Jgut\Spiral\Client
构造函数方法提供传输对象,则将由 Jgut\Spiral\Transport\Curl::createFromDefaults
创建一个
选项
传输对象接受cURL选项
use Jgut\Spiral\Transport\Curl; use Jgut\Spiral\Option\ConnectTimeout; // Create Spiral cURL client $transport = new Curl; // Set option explicitly $transport->setOption(new ConnectTimeout(10)); // Set by cURL constant $transport->setOption(CURLOPT_CONNECTTIMEOUT, 10); // Set using an alias $transport->setOption('connect_timeout', 10);
保留选项
一些选项是保留的,无法使用 setOption
方法添加到传输对象中。其中一些是通过从请求对象提取相关数据来设置的。
以下是传输对象自动处理的一些选项列表
CURLOPT_NOBODY
CURLOPT_HTTPGET
CURLOPT_POST
CURLOPT_CUSTOMREQUEST
CURLOPT_URL
CURLOPT_POSTFIELDS
CURLOPT_HTTPHEADER
可用选项
查看 Jgut\Spiral\Option\OptionFactory 获取可用别名的完整列表
贡献
发现了错误或有功能请求? 请创建一个新问题。在提交之前先查看现有问题
参见文件 CONTRIBUTING.md
许可证
在BSD-3-Clause许可证下发布。
有关许可证条款的副本,请参阅随源代码提供的文件 LICENSE