PHPのHTTPクライアントguzzleを使う

PHP

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"(以下略)

うまくいきました。

並列処理や非同期処理が使いどころありそうなので、また今度試してみます。

以上です。

 

 

 

コメント/ピンバック

タイトルとURLをコピーしました