curl_exec 返回值
参数 CURLOPT_RETURNTRANSFER 是将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。CURLOPT_RETURNTRANSFER参数的作用是
把CRUL获取的内容赋值到变量。它默认是 0 直接返回获取的输出的文本流,有时候,我们要拿返回值来做判断或者做其他用途的话那就不太好了。所以,有的时候我们希望返回的内容作
为变量储存,而不是直接输出,那么该怎么做呢?本篇文章主要介绍了 php curl_exec()函数 CURL获取返回值的方法
其实CURLOPT_RETURNTRANSFER 可以设置,如果设置成CURLOPT_RETURNTRANSFER 1,它就将使用PHP curl获取页面内容或提交数据,作为变量储存,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
来自https://reqbin.com/req/php/xlzvgz1v/php-post-request的示例
<?php
$url = "https://reqbin.com/echo/post/json";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Accept: application/json",
"Content-Type: application/json",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$data = <<<DATA
{
"Id": 78912,
"Customer": "Jason Sweet",
"Quantity": 1,
"Price": 18.00
}
DATA;
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
?>
curl获取页面内容, 不直接输出例子:
$url = 'https://const.net.cn';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch); // 已经获取到内容,没有输出到页面上。
curl_close($ch);
echo $response;
?>
当我们将CURLOPT_RETURNTRANSFER 设置成 1 的时候,页面是没有输出内容的,我们将获取的内容赋值给了一个变量$response ,用 echo 输出的变量$response。
本文链接地址:https://const.net.cn/300.html