本文實(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)寫例子。
【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ì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》及《PHP網(wǎng)絡(luò)編程技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP http請(qǐng)求超時(shí)問(wèn)題解決方案
- AngularJs的$http發(fā)送POST請(qǐng)求,php無(wú)法接收Post的數(shù)據(jù)問(wèn)題及解決方案
- PHP使用Http Post請(qǐng)求發(fā)送Json對(duì)象數(shù)據(jù)代碼解析
- PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼
- php如何獲取Http請(qǐng)求
- PHP swoole中http_server的配置與使用方法實(shí)例分析
- 對(duì)php 判斷http還是https,以及獲得當(dāng)前url的方法詳解
- PHP獲取HTTP body內(nèi)容的方法
- PHP實(shí)現(xiàn)模擬http請(qǐng)求的方法分析
- HTTP頭隱藏PHP版本號(hào)實(shí)現(xiàn)過(guò)程解析