導航:首頁 > 操作系統 > linuxlibcurl下載

linuxlibcurl下載

發布時間:2022-09-08 18:38:37

『壹』 如何使用libcurl實現HTTP的GET方法獲取文件長度

在項目中,需要做一個下載中間件,查看資料發現libcurl很適合,因此選用libcurl來實現HTTP下載功能。
用libcurl實現下載功能很方便,只要調用libcurl庫的
在CODE上查看代碼片派生到我的代碼片
curl_easy_init()
curl_easy_setopt()
curl_easy_perform()
curl_easy_getinfo()
就可以完成http下載,並且libcurl教程很多,網上資料也很多。
對於libcurl獲取文件長度,網上比較多的做法如下:
在CODE上查看代碼片派生到我的代碼片
long downloadFileLenth = 0;
CURL *handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, url);
curl_easy_setopt(handle, CURLOPT_HEADER, 1); //只要求header頭
curl_easy_setopt(handle, CURLOPT_NOBODY, 1); //不需求body
if (curl_easy_perform(handle) == CURLE_OK)
{
curl_easy_getinfo(handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &downloadFileLenth);
}
else {
downloadFileLenth = -1;
}
curl_easy_cleanup(handle);
但是這種做法,默認是通過HTTP的HEAD方式來獲取的,但是並不是所有HTTP的伺服器都是支持HEAD方式來獲取,比如說本人項目中,
有個HTTP server就不支持HEAD方式,而只能使用GET方式來獲取文件長度,所以這種方式不可行, 本希望能夠使用如下代碼段來實現:
在CODE上查看代碼片派生到我的代碼片
long downloadFileLenth = 0;
CURL *handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, url);
curl_easy_setopt(handle, CURLOPT_HTTPGET, 1); //使用HTTPGET
curl_easy_setopt(handle, CURLOPT_NOBODY, 1); //不需求body
if (curl_easy_perform(handle) == CURLE_OK)
{
curl_easy_getinfo(handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &downloadFileLenth);
}
else {
downloadFileLenth = -1;
}
curl_easy_cleanup(handle);
但是發現還是用的HEAD方式獲取,查看libcurl源代碼發現,當設置CURLOPT_NOBODY,libcurl會默認設置獲取方式為HEAD方式,如果把
set nobody的option去掉,又會下載文件內容!所以上面代碼無法滿足。
沒辦法只能看libcurl源代碼,終於發現如下解決方案:
在CODE上查看代碼片派生到我的代碼片
long downloadFileLenth = 0;
CURL *handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, url);
curl_easy_setopt(handle, CURLOPT_CUSTOMREQUEST, 「GET」); //使用CURLOPT_CUSTOMREQUEST
curl_easy_setopt(handle, CURLOPT_NOBODY, 1); //不需求body
if (curl_easy_perform(handle) == CURLE_OK)
{
curl_easy_getinfo(handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &downloadFileLenth);
}
else {
downloadFileLenth = -1;
}
curl_easy_cleanup(handle);
可以完美解決用GET獲取文件長度,而不下載文件內容。

『貳』 如何在linux下安裝libcurl

可以使用yum命令進行安裝。

yuminstalllibcurl

註:機器可以聯網的情況下,如果不能聯網需要配置本地yum源

『叄』 在linux系統安裝一款軟體需要「libcurl.so.3」,這個應該怎麼安裝,求大神幫幫忙,急急

這個庫文件屬於curl軟體包,安裝這個軟體包。
具體命令要看你用的哪個發行版本。
比如紅帽就是curl.x.x.rpm

『肆』 如何在LINUX下安裝libcurl-Linux新手園地

你用的哪個發行版,如果不知道哪個發行版,通用的辦法就是下載curl的源碼自己編譯

『伍』 linux怎麼安裝libcurl

下載libcurl的安裝包後,依次執行如下命令安裝即可。


1、進入壓縮包所在目錄

# cd /root/soft

2、解壓縮安裝包

# tar -zxf curl-7.42.1.tar.gz

3、進入解壓後的安裝包目錄

# cd curl-7.42.1

4、配置

# ./configure --prefix=/usr/local/curl

註:下載安裝包時請找一個國內的鏡像站下載,要不然下載速度會非常慢。

『陸』 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的一個封裝。

『柒』 在linux centos上,libcurl3如何下載,及安裝。

一般情況下,在操作系統的光碟里應該有的,你直接在光碟里找就可以了。如果沒有,到網上下載。先找關鍵字

『捌』 linux下libcurl安裝說明及樣例誰有嗎

請執行下面這個命令:
$ docker.io run -i -t fedora /bin/bash

如果本地沒有Fedora Docker映像文件,該命令就會首先自動下載映像文件,然後啟動Docker。
如果你想啟動採用某個發行版版本的容器,也可以這么做。比如說,想啟動Ubuntu 13.04 Docker,請執行下面這個命令:
$ docker.io run -i -t ubuntu:13.04 /bin/bash

Docker使用Linux網橋將容器彼此互聯起來,並將它們連接到外部網路。安裝了Docker後,你應該會看到默認情況下自動組建的docker0 Linux網橋。
你創建的每個容器都將連接到docker0網橋介面。

如果你想,也可以使用自定義Linux網橋將諸容器互聯起來。為此,你可以建立一個自定義網橋,並對它進行配置,如下所示。你可以為該網橋分配一個單獨的子網,並且從子網為Docker分配IP地址。我會使用10.0.0.0/24作為Docker子網。

閱讀全文

與linuxlibcurl下載相關的資料

熱點內容
天河三號演算法 瀏覽:918
php隊列教程 瀏覽:630
洪水命令 瀏覽:525
安卓怎麼弄成蘋果在線 瀏覽:435
谷歌web伺服器地址 瀏覽:898
安卓鎖屏圖片如何刪除 瀏覽:719
python3多進程編程 瀏覽:714
證明代碼是程序員寫的 瀏覽:396
演算法錯誤發現辦法 瀏覽:409
河南省醫院掛號是哪個app 瀏覽:629
冬日戀歌哪個APP能看 瀏覽:673
委內瑞拉加密貨 瀏覽:10
程序員寫日記哪個軟體好 瀏覽:108
加密機操作手冊 瀏覽:860
dos命令自動關閉 瀏覽:328
心田花開app在哪裡評價 瀏覽:449
求索記錄頻道哪個app可以看 瀏覽:730
金梅瓶pdf下載 瀏覽:985
機器軟體用什麼編程 瀏覽:845
java虛擬機指令 瀏覽:671