10quality / php-curl
这是一个库(包装器),用于在执行使用Curl的请求时提供功能。非常适合开发自定义API连接或创建通用请求。
v1.0.2
2020-07-17 18:47 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 8.0.*
This package is auto-updated.
Last update: 2024-09-05 23:18:09 UTC
README
这是一个库(包装器),用于在执行使用Curl的请求时提供功能。非常适合开发自定义API连接或创建通用请求。
安装
composer require 10quality/php-curl
用法
请求调用选项
您可以使用以下选项来调用请求
// With global `curl_request()` $response = curl_request('http://my-api.com'); // With global `get_curl_contents()` // --- Which is an alias of `curl_request()` $response = get_curl_contents('http://my-api.com'); // With class `Curl` $response = Curl::request('http://my-api.com');
参数
参数示例
$response = curl_request($url, $method, $data, $headers, $options);
查询字符串和POST正文
GET示例
$response = curl_request( 'http://my-api.com', 'GET', [ 'action' => 'get-countries', 'format' => 'xml', ] );
POST示例
$response = curl_request( 'http://my-api.com', 'POST', [ 'action' => 'get-countries', 'format' => 'xml', 'search' => 'united', 'limit' => 5, ] );
同时使用
定义$data
数组键query_string和request_body,将一些参数作为查询字符串或POST正文发送。在以下示例中,action
和format
将作为查询字符串发送,而search
和limit
将作为POST正文发送
$response = curl_request( 'http://my-api.com', 'POST', [ 'query_string' => [ 'action' => 'get-countries', 'format' => 'xml', ], 'request_body' => [ 'search' => 'united', 'limit' => 5, ], ] );
以下示例将生成以下请求
url: http://my-api.com?action=get-countries&format=xml post body: search=united&limit=5
头部信息
以下示例展示了如何发送头部信息
$response = curl_request( 'http://my-api.com', 'GET', ['action' => 'get-countries'], [ 'Authorization: Bearer -token-', 'Custom: Value', ] );
Curl选项
以下示例展示了如何添加Curl选项或覆盖现有选项
$response = curl_request( 'http://my-api.com', 'GET', ['action' => 'get-countries'], [], [ CURLOPT_TIMEOUT => 60, CURLOPT_RETURNTRANSFER => 0, CURLOPT_USERAGENT => 'Custom/Agent 007', ] );
使用可调用对象的自定义请求方法
如果您需要向不支持的方法发送特殊请求,可以使用以下示例中的$callable
参数
$response = curl_request( 'http://my-api.com', 'XPOST', [], ['temperature' => 60, 'uptime' => 4564612131], [],// headers [],// options function($curl, $data) { curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'XPOST'); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); return $curl; } );
注意:可调用对象将接收$curl
和$data
作为参数,并期望返回变量$curl
。
指南
PSR-2编码标准。
版权和许可
MIT许可 - (C) 2018 10 Quality。