curl和libcurl有什么區(qū)別-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)curl和libcurl有什么區(qū)別,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比菏澤網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式菏澤網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋菏澤地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。

curl簡介

curl是利用URL語法在命令行方式下工作的開源文件傳輸工具。
它支持很多協(xié)議: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、用戶名/密碼認(rèn)證(Basic, Digest, NTLM等)、下載文件斷點(diǎn)續(xù)傳,上載文件斷點(diǎn)續(xù)傳(file transfer resume),http代理服務(wù)器管道(proxy tunneling)以及其他特性。
curl是瑞典curl組織開發(fā)的,curl的官網(wǎng)是http://curl.haxx.se/,可以從官網(wǎng)獲取它的源代碼和相關(guān)說明。

libcurl簡介

libcurl為一個(gè)免費(fèi)開源的,客戶端url傳輸庫,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP等協(xié)議。
同curl一樣,libcurl也支持SSL證書,HTTP POST, HTTP PUT,FTP上傳,基于表單的HTTP上傳,代理(proxies)、cookies、用戶名/密碼認(rèn)證(Basic, Digest, NTLM等)、下載文件斷點(diǎn)續(xù)傳,上載文件斷點(diǎn)續(xù)傳(file transfer resume),http代理服務(wù)器管道(proxy tunneling)等。

libcurl是高度可移植的,可以工作在不同的平臺(tái)上,支持Windows,Unix,Linux等。

libcurl是免費(fèi)的,線程安全的,IPV6兼容的,同事它還有很多其他非常豐富的特性。libcurl已經(jīng)被很多知名的大企業(yè)以及應(yīng)用程序所采用。
可以在這里獲取libcurl的源碼及相關(guān)文檔。

curl與libcurl對(duì)比

相同點(diǎn)

curl和libcurl都可以利用多種多樣的協(xié)議來傳輸文件,包括HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE等。

不同點(diǎn)

curl是命令行工具,可以通過shell或腳本來運(yùn)行curl。curl底層所使用的庫是libcurl。
libcurl是一個(gè)庫,通常與別的程序綁定在一起使用,如命令行工具curl就是封裝了libcurl庫。所以我們也可以在你自己的程序或項(xiàng)目中使用libcurl以獲得類似CURL的強(qiáng)大功能。接下來將要介紹的PHP擴(kuò)展就是對(duì)curl的一個(gè)封裝。

幾個(gè)名詞

“curl”的不同意思

1.curl指的是curl命令行工具,可以從命令行或者腳本或者批處理文件中運(yùn)行curl。curl創(chuàng)建于1998年,并且提供了100多個(gè)選項(xiàng)去控制它。
2.cURL是一個(gè)軟件項(xiàng)目的名字。該軟件項(xiàng)目包含了上面所說的curl和libcurl,并且都是開源的。
3.CURL通常用作PHP中l(wèi)ibcurl擴(kuò)展的名字。這個(gè)擴(kuò)展確保了PHP程序員在程序中可以訪問libcurl庫所提供的功能。

curl—命令行工具

1.命令行工具,可以從shell或者腳本中運(yùn)行該工具。
2.提供了130多種不同的“flags”
3.通常被用來模擬瀏覽器的行為
4.跨平臺(tái)

libcurl—庫

1.用作其他程序的開發(fā)庫
2.可以與許多語言想結(jié)合,如PHP、C++
3.跨平臺(tái)
4.提供了多種不同的使用它的APIs

PHP中使用curl和libcurl

PHP中使用curl

在PHP中使用curl非常簡單,只要調(diào)用PHP中幾個(gè)執(zhí)行系統(tǒng)命令的相關(guān)函數(shù)即可。
代碼示例:


復(fù)制代碼 代碼如下:


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


PHP中使用libcurl

在PHP中使用libcurl,也就是我們通常所說的PHP中的“curl”。這部分的內(nèi)容會(huì)在以后的文章中給出,這里只寫出一個(gè)示例代碼:


復(fù)制代碼 代碼如下:


// 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這個(gè)需要根據(jù)具體的情況而定。例如,當(dāng)有一個(gè)定時(shí)腳本在遠(yuǎn)程服務(wù)器的文件改變時(shí)發(fā)送郵件或者當(dāng)前PHP環(huán)境不支持libcurl時(shí),我們應(yīng)該使用curl。否則,我們使用libcurl即可。

以上就是curl和libcurl有什么區(qū)別,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞名稱:curl和libcurl有什么區(qū)別-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://www.muchs.cn/article0/pisoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站改版、外貿(mào)建站域名注冊、ChatGPT、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)