zoukankan      html  css  js  c++  java
  • php中使用CURL之php curl详解

    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

  • 相关阅读:
    震旦199打印机扫描A4文件
    震旦199打印机使用“多组多张文件”复印功能
    局域网电脑快速添加共享的打印机
    打印机连续打印,速度变慢,打印队列一直自动闪烁
    用IntelliJ IDEA编译,编译之后提示 无效的标记: -release
    hao360恶意篡改IE首页——修复方法
    联想一体机怎么设置u盘启动|联想一体机bios改U盘启动方法(转)
    解决局域网IP冲突
    Cisco Packet Tracer 交换机 2950-24 配置
    静态路由作用和添加删除命令
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/12970367.html
Copyright © 2011-2022 走看看