curl和libcurl的区别简介 |
本文标签:curl,libcurl,区别 curl简介 curl是利用URL语法在命令行方式下工作的开源文件传输工具 。 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等协议 。 libcurl是高度可移植的,可以工作在不同的平台上,支持Windows,Unix,Linux等 。 libcurl是免费的,线程安全的,IPV6兼容的,同事它还有很多其他非常丰富的特性 。libcurl已经被很多知名的大企业以及应用程序所采用 。 curl与libcurl对比 相同点 curl和libcurl都可以利用多种多样的协议来传输文件,包括HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE等 。 不同点 curl是命令行工具,可以通过shell或脚本来运行curl 。curl底层所使用的库是libcurl 。 几个名词 “curl”的不同意思 1.curl指的是curl命令行工具,可以从命令行或者脚本或者批处理文件中运行curl 。curl创建于1998年,并且提供了100多个选项去控制它 。 curl—命令行工具 1.命令行工具,可以从shell或者脚本中运行该工具 。 libcurl—库 1.用作其他程序的开发库 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即可 。 |