当前位置:首页 > PHP教程 > php应用 > 列表

PHP的HTTP客户端Guzzle简单使用方法分析

发布: 来源: PHP粉丝网  添加日期:2022-01-19 09:59:28 浏览: 评论:0 

这篇文章主要介绍了PHP的HTTP客户端Guzzle简单使用方法,结合实例形式分析了Guzzle的功能、请求、cookie操作等相关实现技巧,需要的朋友可以参考下。

本文实例讲述了PHP的HTTP客户端Guzzle简单使用方法,分享给大家供大家参考,具体如下:

首先来一段官方文档对Guzzle的介绍:

然后cd到网站根目录,执行Composer命令下载Guzzle:(Linux环境)

composer require guzzlehttp/guzzle

下载完成后会生成一个vender文件夹:

PHP的HTTP客户端Guzzle简单使用方法分析

在vender同级目录新建了一个guzzle.php来写例子。

【GET请求】

  1.   require './vendor/autoload.php'
  2.    
  3.   //实例化客户端 
  4.   $client = new GuzzleHttp\Client(); 
  5.    
  6.   //构造url 
  7.   $url = 'https://www.phpfensi.com'
  8.    
  9.   //get请求 
  10.   $res = $client->request('GET'$url); 
  11.    
  12.   //返回状态码 
  13.   echo $res->getStatusCode(); 
  14.    
  15.   //连贯操作 
  16.   //$res = $client->request('GET', $url)->getBody()->getContents(); 
  17.  ?> 
  18.   require './vendor/autoload.php'
  19.  
  20.   //实例化客户端 
  21.   $client = new GuzzleHttp\Client(); 
  22.  
  23.   //构造url 
  24.   $url = 'https://www.phpfensi.com'
  25.  
  26.   //get请求 
  27.   $res = $client->request('GET'$url); 
  28.  
  29.   //返回状态码 
  30.   echo $res->getStatusCode(); 
  31.  
  32.   //连贯操作 
  33.   //$res = $client->request('GET', $url)->getBody()->getContents(); 
  34.  ?> 

【POST请求】

  1.   require './vendor/autoload.php'
  2.    
  3.   //实例化客户端 
  4.   $client = new GuzzleHttp\Client();  
  5.    
  6.   //构造url 
  7.   $url = 'https://www.phpfensi.com'
  8.    
  9.   //post请求 
  10.   $res = $client->request('POST'$url, [ 
  11.     'form_params' => [ 
  12.       'name'=>'lws'
  13.       'sex'=>'nan' 
  14.     ] 
  15.   ]); 
  16.    
  17.   //返回状态码 
  18.   echo $res->getStatusCode(); 
  19. ?> 

【POST文件上传】

  1.   require './vendor/autoload.php'
  2.    
  3.   //实例化客户端 
  4.   $client = new GuzzleHttp\Client();  
  5.    
  6.   //构造url 
  7.   $url = 'https://www.phpfensi.com'
  8.    
  9.   //post请求 
  10.   $res = $client->request('POST'$url, [ 
  11.     'multipart' => [ 
  12.       [ 
  13.      'name'=>'name'
  14.         'contents'=>'lws' 
  15.       ], 
  16.       [ 
  17.      'name'=>'sex'
  18.         'contents'=>'nan' 
  19.       ], 
  20.       [ 
  21.      'name'=>'tupian'
  22.         'contents'=>file_get_contents('1.jpg'), 
  23.         'filename'=>'lws.jpg' 
  24.       ] 
  25.     ] 
  26.   ]); 
  27.    
  28.   //返回状态码 
  29.   echo $res->getStatusCode(); 
  30. ?> 

【设置代理IP】

  1.   require './vendor/autoload.php'
  2.    
  3.   //实例化客户端 
  4.   $client = new GuzzleHttp\Client();  
  5.    
  6.   //构造url 
  7.   $url = 'https://www.phpfensi.com'
  8.    
  9.   //设置代理请求 
  10.   $res = $client->request('GET'$url, [ 
  11.     'proxy' => '111.22.33.44:6666' 
  12.   ]); 
  13.    
  14.   //返回状态码 
  15.   echo $res->getStatusCode(); 
  16. ?> 

【模拟请求头】

  1.   require './vendor/autoload.php'
  2.    
  3.   //实例化客户端 
  4.   $client = new GuzzleHttp\Client(['headers'=>['referer'=>'https://www.phpfensi,com']]);  
  5.    
  6.   //构造url 
  7.   $url = 'https://www.phpfensi.com'
  8.    
  9.   //设置代理请求 
  10.   $res = $client->request('GET'$url); 
  11.    
  12.   //返回状态码 
  13.   echo $res->getStatusCode(); 
  14. ?> 

【记录Cookie】

  1.   require './vendor/autoload.php'
  2.    
  3.   //实例化客户端 
  4.   $client = new GuzzleHttp\Client(['cookie'=>true]);  
  5.    
  6.   //构造url 
  7.   $url = 'https://www.phpfensi.com'
  8.    
  9.   //设置代理请求 
  10.   $res = $client->request('GET'$url); 
  11.    
  12.   //返回状态码 
  13.   echo $res->getStatusCode(); 
  14. ?>

Tags: HTTP客户端 Guzzle

分享到: