PHP的HTTP客戶端Guzzle簡(jiǎn)單使用方法分析
本文實(shí)例講述了PHP的HTTP客戶端Guzzle簡(jiǎn)單使用方法。分享給大家供大家參考,具體如下:
首先來(lái)一段官方文檔對(duì)Guzzle的介紹:

然后cd到網(wǎng)站根目錄,執(zhí)行Composer命令下載Guzzle:(Linux環(huán)境)
composer require guzzlehttp/guzzle
下載完成后會(huì)生成一個(gè)vender文件夾:

在vender同級(jí)目錄新建了一個(gè)guzzle.php來(lái)寫(xiě)例子。
【GET請(qǐng)求】
<?php
require './vendor/autoload.php';
//實(shí)例化客戶端
$client = new GuzzleHttp\Client();
//構(gòu)造url
$url = 'https://www.baidu.com';
//get請(qǐng)求
$res = $client->request('GET', $url);
//返回狀態(tài)碼
echo $res->getStatusCode();
//連貫操作
//$res = $client->request('GET', $url)->getBody()->getContents();
?>
【POST請(qǐng)求】
<?php
require './vendor/autoload.php';
//實(shí)例化客戶端
$client = new GuzzleHttp\Client();
//構(gòu)造url
$url = 'https://www.baidu.com';
//post請(qǐng)求
$res = $client->request('POST', $url, [
'form_params' => [
'name'=>'lws',
'sex'=>'nan'
]
]);
//返回狀態(tài)碼
echo $res->getStatusCode();
?>
【POST文件上傳】
<?php
require './vendor/autoload.php';
//實(shí)例化客戶端
$client = new GuzzleHttp\Client();
//構(gòu)造url
$url = 'https://www.baidu.com';
//post請(qǐng)求
$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'
]
]
]);
//返回狀態(tài)碼
echo $res->getStatusCode();
?>
【設(shè)置代理IP】
<?php
require './vendor/autoload.php';
//實(shí)例化客戶端
$client = new GuzzleHttp\Client();
//構(gòu)造url
$url = 'https://www.baidu.com';
//設(shè)置代理請(qǐng)求
$res = $client->request('GET', $url, [
'proxy' => '111.22.33.44:6666'
]);
//返回狀態(tài)碼
echo $res->getStatusCode();
?>
【模擬請(qǐng)求頭】
<?php
require './vendor/autoload.php';
//實(shí)例化客戶端
$client = new GuzzleHttp\Client(['headers'=>['referer'=>'https://www.baidu,com']]);
//構(gòu)造url
$url = 'https://www.baidu.com';
//設(shè)置代理請(qǐng)求
$res = $client->request('GET', $url);
//返回狀態(tài)碼
echo $res->getStatusCode();
?>
【記錄Cookie】
<?php
require './vendor/autoload.php';
//實(shí)例化客戶端
$client = new GuzzleHttp\Client(['cookie'=>true]);
//構(gòu)造url
$url = 'https://www.baidu.com';
//設(shè)置代理請(qǐng)求
$res = $client->request('GET', $url);
//返回狀態(tài)碼
echo $res->getStatusCode();
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php socket用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP實(shí)現(xiàn)無(wú)限極分類的兩種方式示例【遞歸和引用方式】
這篇文章主要介紹了PHP實(shí)現(xiàn)無(wú)限極分類的兩種方式,結(jié)合實(shí)例形式分析了php基于遞歸和引用方式進(jìn)行數(shù)組遍歷的相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
PHP實(shí)現(xiàn)向關(guān)聯(lián)數(shù)組指定的Key之前插入元素的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)向關(guān)聯(lián)數(shù)組指定的Key之前插入元素的方法,涉及php針對(duì)數(shù)組的遍歷、判斷、獲取、插入等相關(guān)操作技巧,需要的朋友可以參考下2017-06-06

