本文主要介绍curl和libcurl的区别。本文讲解了curl、libcurl的简介,curl和libcurl的比较,“curl”的不同含义,curl和libcurl在PHP中的使用等。卷发太多了,我看不懂。看了这篇文章,我知道我们一直在用libcurl。有需要的朋友可以参考一下。
curl简介
Curl是一个开源文件传输工具,它使用url语法在命令行模式下工作。
它支持许多协议:dict,file,FTP,ftps,gopher,http,https,IMAP,imaps,LDAP,ldaps,POP3,pop3s,rtmp,RTSP,scp,sftp,SMTP,SMTP,telnet和TFTP。
Curl还支持SSL证书、http POST、http PUT、FTP上传、基于表单的HTTP上传、代理、cookies、用户名/密码认证(基本、摘要、NTLM等。),下载文件断点续传,上传文件断点续传,HTTP代理隧道等功能。
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和TFTP。
和curl一样,libcurl也支持SSL证书、http POST、http PUT、FTP上传、基于表单的HTTP上传、代理、cookies、用户名/密码认证(基本、摘要、NTLM等。)、下载文件断点续传、上传文件断点续传、HTTP代理隧道等。
Libcurl可移植性强,可以在不同平台上工作,支持Windows、Unix、Linux等。
Libcurl是免费的、线程安全的、兼容IPV6的,它还有许多其他非常丰富的特性。Libcurl已经被很多知名的大型企业和应用采用。
你可以在这里获得libcurl的源代码和相关文档。
curl与libcurl对比
相同点
Curl和libcurl可以使用各种协议传输文件,包括HTTP、HTTPS、FTP、FTPS、Gopher、LDAP、Dict、Telnet和File等。
不同点
Curl是一个命令行工具,可以通过shell或脚本运行。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多种不同的“标志”
3.通常用于模拟浏览器的行为
4.跨平台
libcurl—库
1.用作其他程序的开发库
2.可以和很多语言结合,比如PHP,c。
3.跨平台
4.有许多不同的API使用它。
PHP中使用curl和libcurl
PHP中使用curl
在PHP中使用curl非常简单,只需在PHP中调用几个执行系统命令的相关函数即可。
代码示例:
复制代码如下:
$ Baidu=shell _ exec('/usr/bin/curl-L http://www . Baidu . com ');
var _ dump($百度);
PHP中使用libcurl
在PHP中使用libcurl,也就是我们通常在PHP中所说的“curl”。这部分的内容会在以后的文章中给出。这里只编写了一个示例代码:
复制代码如下:
//将此脚本FTP到服务器
$fp=fopen(__FILE__,' r ');
$ URL=' FTP://username:password @ my domain . com:21/path/to/new file . 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。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。