PHPのHTTPクライアントはcurlよりguzzleというのを使うのが流行りらしいので、試してみます。
https://github.com/guzzle/guzzle
Guzzleの読み方
カタカナにすると「ガズル」が日本語的な読み方になります。
発音記号は「gʌ’zl」。ガァゾォとかガァズォとか、そんな感じです。
Guzzleの意味
お酒を暴飲する。ガツガツ食べる。といった意味の単語です。
なぜこの単語をライブラリの名前にしたのかはよく分かりません…
Guzzleの特徴
- HTTPリクエストの並列処理、非同期処理を簡単に構築できる。
- PSR-7インターフェースを採用している。
分かりやすい特徴としてはこんな所でしょうか。
標準インターフェースを採用する事で、ソースコードの可読性、再利用性が上がるのは良いですね。
GuzzleをComposerでインストール
インストールして使用する手順は以下が分かりやすいです。
http://docs.guzzlephp.org/en/stable/overview.html#installation
単一のプログラムで軽く試したい時はcomposer.jsonを作ってインストールする方法が楽かなと個人的には思います。
{ "require": { "guzzlehttp/guzzle": "~6.0" } }
composer update を実行してインストール完了です。
Guzzleを軽く試す
試しにてきとうなURLにリクエストを送るコードを作ります。
<?php require "vendor/autoload.php"; $url = "http://google.com"; $client = new \GuzzleHttp\Client(); $res = $client->request("GET", $url); echo $res->getStatusCode()."\n"; echo $res->getHeaderLine("content-type")."\n"; echo $res->getBody()."\n";
試しに実行。
> php sample.php 200 text/html; charset=ISO-8859-1 <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"(以下略)
うまくいきました。
並列処理や非同期処理が使いどころありそうなので、また今度試してみます。
以上です。
コメント/ピンバック