网络编程
位置:首页>> 网络编程>> php编程>> PHP的HTTP客户端Guzzle简单使用方法分析

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

作者:李维山  发布时间:2023-07-16 05:58:56 

标签:PHP,HTTP客户端,Guzzle

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

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

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

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


composer require guzzlehttp/guzzle

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

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

在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();
?>

【设置 * 】


<?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();
?>

希望本文所述对大家PHP程序设计有所帮助。

来源:https://blog.csdn.net/msllws/article/details/83862462

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com