• 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

  • 相关阅读:
    HDU 1847 Good Luck in CET-4 Everybody!(博弈、找规律)
    HDU 1564 Play a game(博弈、找规律)
    HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(巴什博弈)
    HDU 2516 取石子游戏(斐波那契博弈)
    HDU 1517 A Multiplication Game(博弈)
    HDU
    POJ-1182 食物链(并查集)
    POJ-1915 Knight Moves (BFS)
    python模块详解 time与date time
    python模块介绍和 import本质
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/12970367.html
Copyright © 2020-2023  润新知