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

Analytics