本文實例講述了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();
?>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php socket用法總結》、《php字符串(string)用法總結》、《PHP數學運算技巧總結》、《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》、《php程序設計算法總結》及《PHP網絡編程技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- PHP http請求超時問題解決方案
- AngularJs的$http發送POST請求,php無法接收Post的數據問題及解決方案
- PHP使用Http Post請求發送Json對象數據代碼解析
- PHP利用curl發送HTTP請求的實例代碼
- php如何獲取Http請求
- PHP swoole中http_server的配置與使用方法實例分析
- 對php 判斷http還是https,以及獲得當前url的方法詳解
- PHP獲取HTTP body內容的方法
- PHP實現模擬http請求的方法分析
- HTTP頭隱藏PHP版本號實現過程解析