curl是个什么东西?
简单地说就是,curl是一个库,能让你通过URL和许多不同种的服务器进行勾搭、搭讪和深入交流,并且还支持许多协议。并且人家还说了curl可以支持https认证、http post、ftp上传、代理、cookies、简单口令认证等等功能啦。
说了那么多其实没什么感觉吧,在应用中才有感觉,我起初也是需要在服务器端向另一个服务器发起一个POST请求才开始接触curl的,然后才有了感觉。
在正式讲怎么用之前啊,先提一句,你得先在你的PHP环境中安装和启用curl模块,具体方式我就不讲了,不同系统不同安装方式,可以google查一下,或者查阅PHP官方的文档,还挺简单的。
1. 拿来先试试手
工具到手,先要把玩,试试顺不顺手,不然一拿来就用,把你自己的代码搞得乌烟瘴气还怎么去撩服务器呢?
比如我们以著名的“测试网络是否连接”的网站——百度为例,来尝试下curl
1 <?php 2 // create curl resource 3 $ch = curl_init(); 4 5 // set url 6 curl_setopt($ch, CURLOPT_URL, "baidu.com"); 7 8 //return the transfer as a string 9 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 10 11 // $output contains the output string 12 $output = curl_exec($ch); 13 14 //echo output 15 echo $output; 16 17 // close curl resource to free up system resources 18 curl_close($ch); 19 ?>
当你在本地环境浏览器打开这个php文件时,页面出现的是百度的首页,特么我刚才输入的“localhost”呢?
上面的代码和注释已经充分说明了这段代码在干啥。
$ch = curl_init(),创建了一个curl会话资源,成功返回一个句柄;
curl_setopt($ch, CURLOPT_URL, "baidu.com"),设置URL,不用说;
上面两句可以合起来变一句$ch = curl_init("baidu.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0)这是设置是否将响应结果存入变量,1是存入,0是直接echo出;
$output = curl_exec($ch)执行,然后将响应结果存入$output变量,供下面echo;
curl_close($ch)关闭这个curl会话资源。
PHP中使用curl大致就是这么一个形式,其中第二步,通过curl_setopt方法来设置参数是最复杂也是最重要的,感兴趣可以去看官方的关于可设置参数的详细参考,长地让你看得想吐,还是根据需要熟能生巧吧。
小结一下,php中curl用法就是:创建curl会话 -> 配置参数 -> 执行 -> 关闭会话。
curl_init()函数是初始化一个新会话,并返回一个curl句柄供curl_setopt(),curl_exec(),curl_close()函数使用
下面的功能先不写,可以看这篇文章
https://www.php.cn/php-weizijiaocheng-393305.html