bainternet / curlo
基于 WordPress HTTP curl 类的简单 PHP curl 封装
dev-master
2015-09-24 06:25 UTC
This package is not auto-updated.
Last update: 2024-09-28 18:05:23 UTC
README
简单 PHP curl 封装,基于 WordPress HTTP curl 类。
- 这个类在一定程度上基于 WordPress HTTP Curl 类和 HTTP API,因此部分代码来源于那里。
安装
您可以通过下载以下格式的项目:[zip](https://github.com/bainternet/Curlo/zipball/master) 或 [tar](https://github.com/bainternet/Curlo/tarball/master)。
您也可以使用 Git 克隆项目,通过以下命令:
$ git clone git://github.com/bainternet/Curlo.git
或者您可以使用 Composer(推荐方法)将类包含到您的项目中
$ php composer.phar require bainternet/curlo
如何使用?
简单,将类文件包含到您的应用程序引导文件中(设置/加载/配置等),然后开始创建 HTTP 请求。
//include the class include_once('path/to/src/curlo.php'); //instantiate a new curlo $request = new Curlo\Curlo();
#### 简单 GET 请求
//get the response of a GET request $response = $request->get('https://en.bainternet.info'); var_dump($response);
#### 简单 POST 请求
//make a POST request $response = $request->post('https://en.bainternet.info/login', array( 'username' => 'Ohad', 'password' => 'XXXXXXX' ) ); var_dump($response);
响应示例
array (size=4)
'headers' => array (size=8)
'server' => string 'cloudflare-nginx' (length=16)
'date' => string 'Thu, 17 Sep 2015 15:10:57 GMT' (length=29)
'content-type' => string 'text/html; charset=UTF-8' (length=24)
'transfer-encoding' => string 'chunked' (length=7)
'connection' => string 'keep-alive' (length=10)
'set-cookie' => string '__cfduid=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX; expires=Fri, 16-Sep-16 15:10:56 GMT; path=/; domain=.bainternet.info; HttpOnly' (length=132)
'x-pingback' => string 'http://en.bainternet.info/xmlrpc.php' (length=36)
'cf-ray' => string 'XXXXXXXXXXXXX-FRA' (length=20)
'body' => string '<!doctype html>'... (length=65756)
'response' => array (size=2)
'code' => int 200
'message' => string 'OK' (length=2)
'cookies' => array (size=1)
0 => object(Curlo\Curlo_Cookie)[2]
public 'name' => string '__cfduid' (length=8)
public 'value' => string 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (length=43)
public 'expires' => int 1474038656
public 'path' => string '/' (length=1)
public 'domain' => string '.bainternet.info' (length=16)
public 'httponly' => string '' (length=0)
....
方法
add_header 向请求添加头部信息
- @access public
- @since 0.1
- @param mixed $header string with $val set as value or as an array of key|value
- @param mixed $val header value
- @return object Curlo instance
$request->add_header( 'Accept', 'application/json') ->add_header( 'Content-Type', 'application/json'); //same as above $request->add_header( array( 'Accept' => 'application/json', 'Content-Type' => 'application/json' );
许可证
由于这个类是从 WordPress HTTP API 衍生的,因此许可证也是 GPL https://gnu.ac.cn/licenses/gpl.html