📜  laravel http 请求纯文本 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:12.734000             🧑  作者: Mango

Laravel Http 请求纯文本 - PHP

在 Laravel 中,我们可以使用 GuzzleHttp 实现 HTTP 请求,其中也包括对文本数据的请求。

安装

首先要安装 GuzzleHttp,可以使用 Composer 进行安装:

composer require guzzlehttp/guzzle
发送 GET 请求

发送 GET 请求只需使用 get 方法即可,如下所示:

use GuzzleHttp\Client;

$client = new Client();

$response = $client->get('http://example.com/api/users');

$text = $response->getBody()->getContents();

其中,http://example.com/api/users 为请求的地址。请求成功后,我们可以通过 $response->getBody()->getContents() 获取到响应的纯文本内容。

发送 POST 请求

发送 POST 请求需要指定请求的内容,使用 post 方法即可,如下所示:

use GuzzleHttp\Client;

$client = new Client();

$response = $client->post('http://example.com/api/users', [
    'form_params' => [
        'username' => 'john',
        'password' => 'password123'
    ]
]);

$text = $response->getBody()->getContents();

其中,form_params 指定了请求的内容。请求成功后,我们同样可以通过 $response->getBody()->getContents() 获取到响应的纯文本内容。

其他请求方式

除了 GET 和 POST 请求外,GuzzleHttp 还支持 PUT、PATCH、DELETE 等请求方式,使用方法与 POST 请求类似,只需将 post 方法替换为相应的方法即可,如:

// PUT 请求
$response = $client->put('http://example.com/api/users/1', [
    'form_params' => [
        'username' => 'john'
    ]
]);

// PATCH 请求
$response = $client->patch('http://example.com/api/users/1', [
    'form_params' => [
        'password' => 'newpassword123'
    ]
]);

// DELETE 请求
$response = $client->delete('http://example.com/api/users/1');
总结

在 Laravel 中,使用 GuzzleHttp 实现 HTTP 请求非常方便,我们可以通过 get 方法发送 GET 请求,通过 post 方法发送 POST 请求,支持 PUT、PATCH、DELETE 等其他请求方式。获取响应内容只需通过 $response->getBody()->getContents() 即可。