本文实例讲述了php的http客户端guzzle简单使用方法。分享给大家供大家参考,具体如下:
首先来一段官方文档对guzzle的介绍:
然后cd到网站根目录,执行composer命令下载guzzle:(linux环境)
1
|
composer require guzzlehttp/guzzle
|
下载完成后会生成一个vender文件夹:
在vender同级目录新建了一个guzzle.php来写例子。
【get请求】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?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请求】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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文件上传】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
<?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】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?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();
?>
|
【模拟请求头】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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