🐕

【PHP】AMPHP の HTTP Client で TLS なしの HTTP/2 (h2c) を利用する

2024/07/07に公開

Request オブジェクトで HTTP のバージョンを指定すれば自動的に h2c 対応になる

<?php
# h2c テストサーバー
# https://zenn.dev/masakielastic/articles/530f9751697ed6

require __DIR__ . '/vendor/autoload.php';

use Amp\Http\Client\HttpClientBuilder;
use Amp\Http\Client\Request;

$request = new Request("http://localhost:8000");
$request->setProtocolVersions(['2']);

$client = HttpClientBuilder::buildDefault();
$response = $client->request($request);

var_dump(
  $response->getStatus(),
  $response->getHeaders(),
  $response->getBody()->buffer(),
  $response->getProtocolVersion()
);

Discussion