Guzzleを使用したデータを含むPOSTリクエストの送信方法


  1. 単純なデータの送信:

    use GuzzleHttp\Client;
    $client = new Client();
    $response = $client->post('https://example.com/api/endpoint', [
    'form_params' => [
        'key1' => 'value1',
        'key2' => 'value2',
    ]
    ]);
    echo $response->getBody();
  2. JSONデータの送信:

    use GuzzleHttp\Client;
    $client = new Client();
    $response = $client->post('https://example.com/api/endpoint', [
    'json' => [
        'key1' => 'value1',
        'key2' => 'value2',
    ]
    ]);
    echo $response->getBody();
  3. ファイルの送信:

    use GuzzleHttp\Client;
    use GuzzleHttp\Psr7\Request;
    use GuzzleHttp\Psr7\MultipartStream;
    $client = new Client();
    $stream = new MultipartStream([
    [
        'name'     => 'file',
        'contents' => fopen('/path/to/file', 'r'),
    ],
    ]);
    $request = new Request('POST', 'https://example.com/api/endpoint', [], $stream);
    $response = $client->send($request);
    echo $response->getBody();

これらはいくつかの基本的な例ですが、Guzzleにはさまざまなオプションがあります。公式のGuzzleドキュメントを参照すると、さらに詳細な情報を見つけることができます。

また、上記の例では同期的なリクエストを行っていますが、非同期のリクエストを行う方法もあります。非同期リクエストについては、Guzzleのドキュメントで詳細を確認してください。