[ laravel爬虫实战--基础篇 ] guzzle的基本使用以及发送请求
Song •
3123 次浏览 •
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
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
花生壳绑定ubuntu服务器?