kajna/purli
最新稳定版本:1.0.0
Composer 安装命令:
composer require kajna/purli
包简介
Lightweight library with Object-Oriented interface for sending HTTP requests
README 文档
README
Purli (PHP Url Interface) is the lightweight library with the object-oriented interface for sending HTTP requests.
Installing
This package is available via Composer:
{
"require": {
"kajna/purli": "dev-master"
}
}
Usage examples
Fetching data using GET method and CURL handler
Minimal example, Purli by default uses CURL handler if available otherwise fallback to the socket.
try { $purli = (new \Purli\Purli()) ->get('http://www.example.com') ->close(); $response = $purli->response(); echo $response->asText(); } catch(\Exception $e) { echo $e->getMessage(); }
Fetching data using GET method and socket handler
If explicitly set Purli will use PHP sockets to make requests regardless if CURL is installed or not
try { $purli = (new \Purli\Purli(\Purli\Purli::SOCKET)) ->get('http://example.com') ->close(); $response = $purli->response(); echo $response->asText(); } catch(\Exception $e) { echo $e->getMessage(); }
Fetching data using POST method
try { $data = array('foo' => 'bar'); $purli = (new \Purli\Purli()) ->setParams($data) ->post('http://www.example.com') ->close(); $response = $purli->response(); print_r($response->asText()); } catch(\Exception $e) { echo $e->getMessage(); }
Sending and receiving XML data using POST method
try { $data = '<root><foo>bar</foo></root>'; $purli = (new \Purli\Purli()) ->setUserAgent('curl 7.16.1 (i386-portbld-freebsd6.2) libcurl/7.16.1 OpenSSL/0.9.7m zlib/1.2.3') ->setHeader('Content-Type', 'text/xml') ->setParams($data) ->post('http://www.example.com') ->close(); $response = $purli->response(); print_r($response->asArray()); } catch(\Exception $e) { echo $e->getMessage(); }
Sending and receiving JSON data using PUT method
try { $data = array('foo' => 'bar'); $json = json_encode($data); $purli = (new \Purli\Purli(\Purli\Purli::SOCKET)) ->setConnectionTimeout(3) ->setHeader('Content-Type', 'application/json') ->setParams($json) ->put('http://www.example.com') ->close(); $response = $purli->response(); print_r($response->asObject()); } catch(\Exception $e) { echo $e->getMessage(); }
Using proxy server to make request
try { $purli = (new \Purli\Purli()); $purli ->setProxy(PROXY_ADDRESS, PROXY_PORT) ->get('http://www.example.com') ->close(); $response = $purli->response(); echo $response->asText(); } catch(\Exception $e) { echo $e->getMessage(); }
Setting custom CURL option
If CURL extension is installed by default Purli will use it, you can always get CURL handler object and set custom option if more flexibility is needed
try { $purli = (new \Purli\Purli()); if ($purli->getHandlerType() === \Purli\Purli::CURL) { curl_setopt($purli->getHandler(), CURLOPT_TIMEOUT, 10); } $purli ->get('http://www.example.com') ->close(); $response = $purli->response(); echo $response->asText(); } catch(\Exception $e) { echo $e->getMessage(); }
Running tests
Purli uses PHPUnit for testing, navigate to project root directory and run command:
cd tests
phpunit
Author
Milos Kajnaco milos@caenazzo.com
Contributors
Nemanja Nikolic nemanja@massvision.net
Licence
Purli is released under the MIT public license.
统计信息
- 总下载量: 5.02k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-09-25