zjango/curl

cURL 的 Laravel 包

dev-master 2016-09-28 16:24 UTC

This package is not auto-updated.

Last update: 2024-09-18 19:27:49 UTC


README

Laravel-Curl 是 PHP cURL 扩展的面向对象包装器。

安装

要安装此包,只需将以下内容添加到您的 Laravel 安装目录下的 composer.json 文件中

"require": {
	"zjango/laracurl": "dev-master"  
},

在 Laravel 5.0 中

运行常规的 composer update 命令来拉取文件。然后,将以下 服务提供者 添加到您的 config/app.php 配置文件中的 providers 数组中。

'providers' => array(
	...
	'Zjango\Curl\CurlServiceProvider',
);

最后,在别名数组中添加新行

		'Curl'	=>	'Zjango\Curl\Facades\Curl',

在 Laravel 5.2 中

运行常规的 composer update 命令来拉取文件。然后,将以下 服务提供者 添加到您的 config/app.php 配置文件中的 providers 数组中。

'providers' => array(
	...
	Zjango\Curl\CurlServiceProvider::class,
);

最后,在别名数组中添加新行

		'Curl'  =>  Zjango\Curl\Facades\Curl::class,

快速入门与示例

简单的 GET 请求

	Curl::get('http://www.example.com/');

轻松构建带有查询字符串的 URL

	Curl::buildUrl('http://www.example.com/search', array(
		'q' => 'keyword',
	));

轻松发送带有查询字符串的 GET 请求

	Curl::get('http://www.example.com/search', array(
		'q' => 'keyword',
	));

post() 接受 POST 数据数组

	Curl::post('http://www.example.com/login/', array(
		'username' => 'myusername',
		'password' => 'mypassword',
	));

将 'json' 前缀添加到方法以将数据作为 JSON 发送 //todo

将 'raw' 前缀添加到方法以将数据作为原始 JSON 发送 //todo

$curl = new Curl;
$curl->setBasicAuthentication('username', 'password');
$curl->setUserAgent('');
$curl->setReferrer('');
$curl->setHeader('X-Requested-With', 'XMLHttpRequest');
$curl->setCookie('key', 'value');
$curl->get('http://www.example.com/');
if ($curl->error) {
    echo $curl->error_code;
}
else {
    echo $curl->body;
}
var_dump($curl->request_headers);
var_dump($curl->response_headers);
$curl = new Curl;
$curl->setopt(CURLOPT_RETURNTRANSFER, TRUE);
$curl->setopt(CURLOPT_SSL_VERIFYPEER, FALSE);
$curl->get('https://encrypted.example.com/');
Curl::put('http://api.example.com/user/', array(
    'first_name' => 'Zach',
    'last_name' => 'Borboa',
));
Curl::patch('http://api.example.com/profile/', array(
    'image' => '@path/to/file.jpg',
));
Curl::delete('http://api.example.com/user/', array(
    'id' => '1234',
));
$curl->close();

###响应对象###

以上示例中的 $response 变量也是一个对象。

// Return cURL and http status (bool)
$response->error

// Return cURL error or http error code
$response->error_code

// cURL error or http error message
$response->error_message

// curl error (bool)
$response->curl_error

// curl error code
$response->curl_error_code

// curl error message
$response->curl_error_message


// http error  (bool)
$response->http_error

// Response http status code
$response->http_status_code

// Response http error message
$response->http_error_message

// Request _cookies
$response->_cookies


// set _headers
$response->_headers

// Request request_headers
$response->request_headers

// Return Headers
$response->response_headers

// cURL Info
$response->info

// Response Body
$response->body