• 技术文章 >后端开发 >php教程

    curl和libcurl的区别简介_PHP教程

    2016-07-13 09:47:41原创336

    curl和libcurl的区别简介


      这篇文章主要介绍了curl和libcurl的区别简介,本文讲解了curl简介、libcurl简介、curl与libcurl对比、“curl”的不同意思、PHP中使用curl和libcurl等内容,这么多的curl,搞都搞不懂,看了本文才知道,我们一直用的其实是libcurl,需要的朋友可以参考下

      curl简介

      curl是利用URL语法在命令行方式下工作的开源文件传输工具。

      它支持很多协议:DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP。

      curl同样支持SSL证书,HTTP POST, HTTP PUT,FTP上传,基于表单的HTTP上传,代理(proxies)、cookies、用户名/密码认证(Basic, Digest, NTLM等)、下载文件断点续传,上载文件断点续传(file transfer resume),http代理服务器管道(proxy tunneling)以及其他特性。

      curl是瑞典curl组织开发的,curl的官网是http://curl.haxx.se/,可以从官网获取它的源代码和相关说明。

      libcurl简介

      libcurl为一个免费开源的,客户端url传输库,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP等协议。

      同curl一样,libcurl也支持SSL证书,HTTP POST, HTTP PUT,FTP上传,基于表单的HTTP上传,代理(proxies)、cookies、用户名/密码认证(Basic, Digest, NTLM等)、下载文件断点续传,上载文件断点续传(file transfer resume),http代理服务器管道(proxy tunneling)等。

      libcurl是高度可移植的,可以工作在不同的平台上,支持Windows,Unix,Linux等。

      libcurl是免费的,线程安全的,IPV6兼容的,同事它还有很多其他非常丰富的特性。libcurl已经被很多知名的大企业以及应用程序所采用。

      可以在这里获取libcurl的源码及相关文档。

      curl与libcurl对比

      相同点

      curl和libcurl都可以利用多种多样的协议来传输文件,包括HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE等。

      不同点

      curl是命令行工具,可以通过shell或脚本来运行curl。curl底层所使用的库是libcurl。

      libcurl是一个库,通常与别的程序绑定在一起使用,如命令行工具curl就是封装了libcurl库。所以我们也可以在你自己的程序或项目中使用libcurl以获得类似CURL的强大功能。接下来将要介绍的PHP扩展就是对curl的一个封装。

      几个名词

      “curl”的不同意思

      1.curl指的是curl命令行工具,可以从命令行或者脚本或者批处理文件中运行curl。curl创建于1998年,并且提供了100多个选项去控制它。

      2.cURL是一个软件项目的名字。该软件项目包含了上面所说的curl和libcurl,并且都是开源的。

      3.CURL通常用作PHP中libcurl扩展的名字。这个扩展确保了PHP程序员在程序中可以访问libcurl库所提供的功能。

      curl—命令行工具

      1.命令行工具,可以从shell或者脚本中运行该工具。

      2.提供了130多种不同的“flags”

      3.通常被用来模拟浏览器的行为

      4.跨平台

      libcurl—库

      1.用作其他程序的开发库

      2.可以与许多语言想结合,如PHP、C++

      3.跨平台

      4.提供了多种不同的使用它的APIs

      PHP中使用curl和libcurl

      PHP中使用curl

      在PHP中使用curl非常简单,只要调用PHP中几个执行系统命令的相关函数即可。

      代码示例:

       代码如下:

      $baidu=shell_exec("/usr/bin/curl -L http://www.baidu.com");

      var_dump($baidu);

      PHP中使用libcurl

      在PHP中使用libcurl,也就是我们通常所说的PHP中的“curl”。这部分的内容会在以后的文章中给出,这里只写出一个示例代码:

      代码如下:

      // FTP this script to a server

      $fp = fopen(__FILE__, "r");

      $url = "ftp://username:password@mydomain.com:21/path/to/newfile.php";

      $ch = curl_init();

      curl_setopt($ch, CURLOPT_URL, $url);

      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

      curl_setopt($ch, CURLOPT_UPLOAD, 1);

      curl_setopt($ch, CURLOPT_INFILE, $fp);

      curl_setopt($ch, CURLOPT_FTPASCII, 1);

      curl_setopt($ch, CURLOPT_INFILESIZE, filesize(__FILE__));

      $result = curl_exec($ch);

      curl_close($ch);

      使用curl还是libcurl?

      使用curl还是libcurl这个需要根据具体的情况而定。例如,当有一个定时脚本在远程服务器的文件改变时发送邮件或者当前PHP环境不支持libcurl时,我们应该使用curl。否则,我们使用libcurl即可。

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1025329.htmlTechArticlecurl和libcurl的区别简介 这篇文章主要介绍了curl和libcurl的区别简介,本文讲解了curl简介、libcurl简介、curl与libcurl对比、curl的不同意思、PHP中...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:curl libcurl 区别 简介 curl libcurl 区别 简介 这篇 文章 主要 介绍了
    上一篇:Yii使用find findAll查找出指定字段的实现方法_PHP教程 下一篇:Smarty最简单实现列表奇偶变色的方法_PHP教程
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 用PHP实现读取和编写XML DOM代码_PHP• PHP 页面跳转到另一个页面的多种方法方法总结_PHP• 用PHP来写记数器(详细介绍)_PHP• web开发中PHP MySQL分页显示示例分析_PHP• 使用PHP批量生成随机用户名_PHP
    1/1

    PHP中文网