PHP的HTTP客户端Guzzle简单使用方法分析
吾爱主题
阅读:114
2021-09-15 16:31:00
评论:0
本文实例讲述了php的http客户端guzzle简单使用方法。分享给大家供大家参考,具体如下:
首先来一段官方文档对guzzle的介绍:
然后cd到网站根目录,执行composer命令下载guzzle:(linux环境)
?1 | composer require guzzlehttp/guzzle |
下载完成后会生成一个vender文件夹:
在vender同级目录新建了一个guzzle.php来写例子。
【get请求】
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?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请求】
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?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文件上传】
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <?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】
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?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(); ?> |
【模拟请求头】
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?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】
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?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(); ?> |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/msllws/article/details/83862462
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。