在ThinkPHP中,可以通过如下方式来发起GET请求:
## 1. 准备工作
在开始使用之前,需要安装`GuzzleHttp`扩展。
通过以下命令安装:
```
composer require guzzlehttp/guzzle
```
## 2. 发起GET请求
```php
use GuzzleHttp\Client;
$client = new Client([
'base_uri' => 'http://www.example.com',
'timeout' => 2.0,
]);
$response = $client->request('GET', '/api/v1/users');
```
这里使用了[GuzzleHttp](http://docs.guzzlephp.org/en/stable/)来发起请求,`$client`是一个`Client`实例。`base_uri`指定了请求的基础URL,`timeout`指定了请求的超时时间。
`request`方法可以发起GET请求,第一个参数是请求的方法,第二个参数是请求的URL。在本例中,请求的URL为`/api/v1/users`。
## 3. 处理响应
```php
$body = $response->getBody();
echo $body;
```
可以通过`getBody()`方法来获取响应体。
## 示例代码
以下是完整的示例代码:
```php
require __DIR__ . '/vendor/autoload.php';
use GuzzleHttp\Client;
$client = new Client([
'base_uri' => 'http://www.example.com',
'timeout' => 2.0,
]);
try {
$response = $client->request('GET', '/api/v1/users');
$body = $response->getBody();
// 处理响应
echo $body;
} catch (\Exception $e) {
echo $e->getMessage();
}
```
## 总结
以上就是在ThinkPHP中发起GET请求的方法,使用GuzzleHttp可以非常方便地发起HTTP请求,支持民用的HTTP方法包括GET、POST、PUT、DELETE等,同时也支持HTTPS请求。