本文实例讲述了php的http客户端guzzle简单使用方法。分享给大家供大家参考,具体如下:
首先来一段官方文档对guzzle的介绍:
然后cd到网站根目录,执行composer命令下载guzzle:(linux环境)
composer require guzzlehttp/guzzle
下载完成后会生成一个vender文件夹:
在vender同级目录新建了一个guzzle.php来写例子。
【get请求】
<?php require './vendor/autoload.php'; //实例化客户端 $client = new guzzlehttp\client(); //构造url $url = 'https://www.baidu.com'; //get请求 $res = $client->request('get', $url); //返回状态码 echo $res->getstatuscode(); //连贯操作 //$res = $client->request('get', $url)->getbody()->getcontents(); ?>
【post请求】
<?php require './vendor/autoload.php'; //实例化客户端 $client = new guzzlehttp\client(); //构造url $url = 'https://www.baidu.com'; //post请求 $res = $client->request('post', $url, [ 'form_params' => [ 'name'=>'lws', 'sex'=>'nan' ] ]); //返回状态码 echo $res->getstatuscode(); ?>
【post文件上传】
<?php require './vendor/autoload.php'; //实例化客户端 $client = new guzzlehttp\client(); //构造url $url = 'https://www.baidu.com'; //post请求 $res = $client->request('post', $url, [ 'multipart' => [ [ 'name'=>'name', 'contents'=>'lws' ], [ 'name'=>'sex', 'contents'=>'nan' ], [ 'name'=>'tupian', 'contents'=>file_get_contents('1.jpg'), 'filename'=>'lws.jpg' ] ] ]); //返回状态码 echo $res->getstatuscode(); ?>
【设置代理ip】
<?php require './vendor/autoload.php'; //实例化客户端 $client = new guzzlehttp\client(); //构造url $url = 'https://www.baidu.com'; //设置代理请求 $res = $client->request('get', $url, [ 'proxy' => '111.22.33.44:6666' ]); //返回状态码 echo $res->getstatuscode(); ?>
【模拟请求头】
<?php require './vendor/autoload.php'; //实例化客户端 $client = new guzzlehttp\client(['headers'=>['referer'=>'https://www.baidu,com']]); //构造url $url = 'https://www.baidu.com'; //设置代理请求 $res = $client->request('get', $url); //返回状态码 echo $res->getstatuscode(); ?>
【记录cookie】
<?php require './vendor/autoload.php'; //实例化客户端 $client = new guzzlehttp\client(['cookie'=>true]); //构造url $url = 'https://www.baidu.com'; //设置代理请求 $res = $client->request('get', $url); //返回状态码 echo $res->getstatuscode(); ?>
黄山市民网:https://www.huangshanshimin.com/