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

  • 相关阅读:
    1027: C语言程序设计教程(第三版)课后习题7.5
    1026: C语言程序设计教程(第三版)课后习题7.4数组排序
    1025: C语言程序设计教程(第三版)课后习题7.3
    求n之内素数
    迭代
    Java入门:char与byte的区别
    使用MyEclipse 2014创建项目
    Java入门:MyEclipse安装与破解教程
    Java入门:JDK与Eclipse之类的集成开发工具的关系
    Java入门:Java环境变量PATH、CLASSPATH、JAVA_HOME
  • 原文地址:https://www.cnblogs.com/zzjdbk/p/12970367.html
Copyright © 2011-2022 走看看