使用curl发送http请求时获取响应信息

使用curl发送http请求时获取响应信息

使用curl发送get请求时

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
32
33
34
35
36
37
38
<?php
function httpGetReq() {
# 设置请求的url地址
$url = 'https://www.example.com';

# 设置请求头信息
$req_header = array(
"Authorization: xxx",
"Accept: */*",
"Content-Type: application/json; charset=utf-8"
);

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
# 开启ssl验证 可以不开启
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
# 设置gzip压缩 可以不设置
curl_setopt($curl, CURLOPT_ENCODING , "gzip");
curl_setopt($curl, CURLOPT_HTTPHEADER, $req_header);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HEADER, true);
$response = curl_exec($curl);

// 获取请求头信息
$curl_header_req = curl_getinfo($curl, CURLINFO_HEADER_OUT);

// 获取响应头和响应体
$curl_header_res_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
# 获取响应头
$curl_header_res = substr($response, 0, $curl_header_res_size);
# 获取响应体
$curl_body_res = substr($response, $curl_header_res_size);
# 获取响应状态码
$http_status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
}

使用curl发送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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
function httpPostReq() {
# 设置请求的url地址
$url = "https://example.com";

# 设置请求头
$req_header = array(
"Authorization: xxx",
"Accept: */*",
"Content-Type: application/json; charset=utf-8"
);

# 设置请求体
$body = [
'name' => 'xiaohuihui',
'age' => 18
];

$curl = curl_init($url);
# 发送post请求
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($body));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
// 开始ssl验证 可以不开启
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
// 设置gzip编码 可以不设置
curl_setopt($curl, CURLOPT_ENCODING , "gzip");
curl_setopt($curl, CURLOPT_HTTPHEADER, $req_header);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HEADER, true);
$response = curl_exec($curl);

# 获取请求头信息
$curl_header_req = curl_getinfo($curl, CURLINFO_HEADER_OUT);

# 获取响应头和响应体信息
$curl_header_res_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);

# 获取响应头信息
$curl_header_res = substr($response, 0, $curl_header_res_size);

# 获取响应体信息
$curl_body_res = substr($response, $curl_header_res_size);

# 获取响应状态码
$http_status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

# 解析响应体
$decoded_response = rawurldecode($curl_body_res);
}
文章目录
  1. 1. 使用curl发送http请求时获取响应信息
    1. 1.1. 使用curl发送get请求时
    2. 1.2. 使用curl发送post请求时
本站总访问量 | 本页面被访问 | 您是第位小伙伴

© 炫彩信息科技有限公司 版权所有 备案号 : 赣ICP备19008485号