[ laravel爬虫实战--基础篇 ] guzzle的基本使用以及发送请求
Song •
2850 次浏览 •
0个评论 •
2017年11月01日
laravel
使用Guzzle
非常方便,只需要引入Guzzle
即可,我们今天主要来构造一个请求,以及了解Guzzle
的基本使用,如果你还没有安装Guzzle
,可以参考[ laravel爬虫实战--基础篇 ] guzzle描述与安装:
一、构造请求
Client对象可以接收一个包含参数的数组:
use GuzzleHttp\Client;
$client = new Client([
// 默认请求的url
base_uri => https://www.baidu.com/,
// 默认请求时间,你可以任意设置
timeout => 2.0,
]);
二、base_uri详解
基URI用来合并到相关URI,可以是一个字符串或者UriInterface的实例,当提供了相关uri,将合并到基URI,简单的来说,就是一个url链接的拼合,那么我们来看一下例子:
// 我们实现来撞见一个基本的api
$client = new Client([base_uri => https://baidu.com/api/]);
// 这样我们会去请求的url为 https://baidu.com/api/test
$response = $client->request(GET, test);
// 这样我们会去请求的url为 https://baidu.com/root
$response = $client->request(GET, /root);
三、Client对象的方法可以很容易的发送请求
$response = $client->get(http://baidu.com/get);
$response = $client->delete(http://baidu.com/delete);
$response = $client->head(http://baidu.com/get);
$response = $client->options(http://baidu.com/get);
$response = $client->patch(http://baidu.com/patch);
$response = $client->post(http://baidu.com/post);
$response = $client->put(http://baidu.com/put);
你可以创建一个请求,一切就绪后将请求传送给client
:
<?php
namespace App\Http\Controllers;
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
class TestController extends Controller
{
public function test()
{
$client = new Client([base_uri => https://baidu.com/]);
$request = new Request(GET, https://baidu.com/);
$response = $client->send($request, [timeout => 2]);
dd($response);
}
}
这样,我们可以获取到我们请求返回的Response
信息
Client
对象为传输请求提供了非常灵活的处理器方式,包括请求参数、每次请求使用的中间件以及传送多个相关请求的基URI
。你可以在 Handlers and Middleware
页面找到更多关于中间件的内容。
提交评论
请登录后评论
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
Laravel模型更新全表如何实现? 2024-03-11
热门文章
-
Laravel模型更新全表如何实现? 2024-03-11
-
php图片转为二进制数据的方法 2023-10-23
-
Jquery如何监听动态创建元素的点击事件? 2023-09-08
-
所以SheetJS实现table导出数据为Excel 2023-09-05
-
ubuntu crontab设置定时任务教程以及常见命令合集 2023-08-21
[ laravel爬虫实战--进阶篇 ] guzzle实现多张图片上传