hhuang-is/hhcurl

cURL 类用于 HHVM/Hack

安装: 265

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 120

开放问题: 0

语言:Hack

0.3.3 2018-01-09 02:15 UTC

README

此库为 HHVM/Hack cURL 扩展提供了一个面向对象的包装器。

如果您对安装或使用有问题,请 创建一个问题

安装

要使用 composer 安装此库,请在控制台运行以下命令

$ hhvm --php $(which composer) require kubotak-is/hhcurl

或者手动将包添加到您的 composer.json 文件的 require 部分

"kubotak-is/hhcurl": "^0.1"

使用示例

$curl = new HHCurl\Curl();
\HH\Asio\join($curl->get('http://www.example.com/'));
$curl = new HHCurl\Curl();
\HH\Asio\join($curl->get('http://www.example.com/search', [
    'q' => 'keyword',
]));
$curl = new HHCurl\Curl();
\HH\Asio\join($curl->post('http://www.example.com/login/', [
    'username' => 'myusername',
    'password' => 'mypassword',
]));
$curl = new HHCurl\Curl();
$curl->setBasicAuthentication('username', 'password');
$curl->setUserAgent('');
$curl->setReferrer('');
$curl->setHeader('X-Requested-With', 'XMLHttpRequest');
$curl->setCookie('key', 'value');
\HH\Asio\join($curl->get('http://www.example.com/'));

if ($curl->error) {
    echo $curl->error_code;
}
else {
    echo $curl->response;
}

var_dump($curl->request_headers);
var_dump($curl->response_headers);
$curl = new HHCurl\Curl();
$curl->setOpt(CURLOPT_RETURNTRANSFER, TRUE);
$curl->setOpt(CURLOPT_SSL_VERIFYPEER, FALSE);
\HH\Asio\join($curl->get('https://encrypted.example.com/'));
$curl = new HHCurl\Curl();
\HH\Asio\join($curl->put('http://api.example.com/user/', [
    'first_name' => 'Zach',
    'last_name' => 'Borboa',
]));
$curl = new HHCurl\Curl();
\HH\Asio\join($curl->patch('http://api.example.com/profile/', [
    'image' => '@path/to/file.jpg',
]));
$curl = new HHCurl\Curl();
\HH\Asio\join($curl->delete('http://api.example.com/user/', [
    'id' => '1234',
]));
$curl->close();
// Example access to curl object.
curl_set_opt($curl->curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1');
curl_close($curl->curl);

## 测试

为了测试库

  1. 创建一个分支
  2. 将分支克隆到您的机器上
  3. 安装依赖项 composer install
  4. 运行单元测试 ./vendor/bin/phpunit tests