編譯curl的dev
❶ 通過curl命令獲取http的狀態嗎
通過curl的-w參數我們可以自定義curl的輸出,%{http_code}代表http狀態碼
代碼如下
# curl -I -m 10 -o /dev/null -s -w %{http_code} IP
上面的輸出是不含換行的,如果需要換行的話,加上\n
代碼如下
# curl -I -m 10 -o /dev/null -s -w %{http_code} IP
200# curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" IP
200
❷ 如何編譯libcurl
1:linux下源碼編譯
./configure --prefix=/usr/local/curl --disable-shared --enable-static --without-libidn --without-ssl --without-librtmp --without-gnutls --without-nss --without-libssh2 --without-zlib --without-winidn --disable-rtsp --disable-ldap --disable-ldaps --disable-ipv6
注意:不需要其它功能就disable,不然會在連接時報錯, 如果你沒有disable掉,但你的機器上又沒有安裝相應的庫,link時會報錯。
2:windows下源碼編譯
libcurl 7.21以後的版本在Windows下的編譯比較簡單,自帶了MinGW和VC環境的Makefile文件,首先去Curl官網下載源代碼:http://curl.haxx.se/download.html,任選一個下載即可,推薦這個: curl-7.21.2.tar.gz,下載完成後解壓開,打開命令行進入curl源碼目錄,(在此之前請先設置好MinGW的環境變數):
cd curl-7.21.2
編譯libcurl庫文件:
cd lib
make -f Makefile.m32
等待編譯完成即可
(若需編譯生成curl可執行文件,則執行:
cd ../src
make -f Makefile.m32)
編譯完成後,我們需要復制include頭文件和庫文件到一個目錄供程序開發用
1. 新建curllib目錄
2. 新建curllib/include目錄,將源代碼include目錄里的curl文件夾復制到curllib/include目錄,這些是使用libcurl需要的頭文件
3. 新建curllib/lib目錄,將源代碼lib目錄里編譯好的庫文件libcurl.a,libcurldll.a,libcurl.dll復制到curllib目錄
4. 將MinGW安裝目錄下lib文件夾里的libwldap32.a和libws2_32.a復制到curllib/lib目錄
至此,curllib就是我們開發中要使用到的libcurl的全部文件,下面新建一個測試程序main.c
❸ 為什麼編譯好的curl靜態lib用不了
你把它curl.lib引到庫裡面,然後只包含頭文件的上級目錄,原目錄需要是<curl/curl.h>
1 靜態庫路徑設置正確
2 定義CURL_STSTICLIB 解決extern函數聲明問題,否則是動態庫函數名稱
3 增加ws2_32.lib,wldap32.lib 解決tcp通信問題
❹ 如何編譯libcurl4 openssl dev安裝
所使用系統ubuntu12.04
1、安裝
很簡單,用新立得安裝 libcurl3,libcurl3-dbg,libcurl4-openssl-dev兩個包及
其相關包。其實安裝的是libcurl的7.18.0版本。現在最新的是7.19,哈,懶得編
譯了。
2.下載例子
從網上http://curl.haxx.se/libcurl/c/example.html下載了一個allexample.zip文件。使用unzip 命令
unzip allexample.zip DirectoryExisted把文件加壓到DirectoryExisted目錄下
2.編譯程序
使用gcc examplefile.c -lculrb編譯即可。
❺ 怎樣編譯curl windows版
linux curl是一個利用URL規則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱url為下載工具。curl並不是雙擊即可運行,你需要在命令提示符下使用它
如何進入命令提示符
點擊「開始」——「運行」——輸入CMD
或,WIN+R,輸入CMD
下載我下載版本的CURL後,解壓後文件夾放在如:D:curl的文件夾里(curl路徑)
命令提示符窗口中輸入"d:"回車,然後輸入「cd curl」即可跳轉到curl文件夾,
至此可以輸入curl命令了(根據你的curl類推)或你也可以將curl加入到系統環境變數如何將curl所在文件夾加入系統變數
右鍵單擊「我的電腦」——「屬性」——「高級」——「環境變數」——
「系統變數」——「Path」——「編輯」——加入「;D:curl」(注意分號,
D:curl換成你的curl路徑)——「確定」加入到系統環境變數後可在命令提示符內直接運行如
「curl -O http://curl.haxx.se/download/curl-7.19.5-win32-ssl-sspi.zip」
這樣的命令,無需進入curl所在文件夾curl命令用法!
實例演示:
curl 是一般linux發行版中都帶有的小工具,利用這個工具可以很方便的下載文件,我一般使用這個工具來查看某個頁面相應的HTTP頭信息,在Windows系統中我們也一樣可以使用這個工具,如果不需要支持https的話,那直接下載一個可執行文件即可
這個頁面最底部有一個Windows下的下載鏈接,請選擇不帶SSL的版本,
否則還需要安裝SSL的支持包。
解壓後直接執行 curl.exe 即可(如不能直接運行,請使用cmd帶路徑執行curl.exe程序),如將改文件放入盤
C:curlcurl.exe.在cmd控制台為 C:curlcurl.exe --help
如果需要將cmd直接執行curl ,則可將curl.exe文件放入到C:WINDOWSsystem32目錄下。
❻ 如何啟用curl命令HTTP2支持
當我們直接使用 curl 去請求一個 https 頁面時,默認可以看到其默認返回的是 HTTP1.1 的 response。現在使用 HTTP2 的網站越來越多,技術也越來越成熟,如何啟用 curl 命令 HTTP 2 支持就成為了一個問題。
curl -I https://nghttp2.org/
當我們試圖用 http2 參數時,會返回一個未支持協議的「curl: (1) Unsupported protocol」錯誤:
curl --http2 -I https://nghttp2.org/
使用如下命令我們可以看到 curl 版本:
curl --version
從上圖中,我們可以看到當前 curl 的版本及支持的協議以及功能特性沒有支持 HTTP2。
啟用curl命令HTTP2支持
編譯安裝nghttp2
為了讓 curl 支持 HTTP2 我們需要安裝 nghttp2(http2 的 C 語言庫):
#安裝編譯工具等
sudo apt-get install git g++ make binutils autoconf automake autotools-dev libtool pkg-config \
zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \
libjemalloc-dev cython python3-dev python-setuptools
#編譯安裝nghttp2
git clone https://github.com/tatsuhiro-t/nghttp2.git
cd nghttp2
autoreconf -i
automake
autoconf
./configure
make
sudo make install
升級curl版本
cd ~
sudo apt-get build-dep curl
wget http://curl.haxx.se/download/curl-7.46.0.tar.bz2
tar -xvjf curl-7.46.0.tar.bz2
cd curl-7.46.0
./configure --with-nghttp2=/usr/local --with-ssl
sudo make && make install
echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf
ldconfig
升級完版本之後,我們再查看 curl 版本時會發布特性中會增加 HTTP2 功能支持。此時 –http2 參數就可以正常使用了:
curl --http2 -I https://nghttp2.org
測試curl with http2
我們再使用如下命令測試 winclient 主頁看看:
curl --http2 -I https://www.winclient.cn
❼ php如何執行linux的curl指令
curl 不是即時的輸入輸出的命令,php 有運行時間限制, curl 運行會導致 curl 運行時間不夠而被殺掉的。
php 有運行 linux 命令的函數,記得 system() 是一個,之後還有另外一個。注意這兩個命令是可以在 php.ini/php.conf 裡面設置禁止使用的。
❽ 如何啟用curl命令HTTP2支持
啟用curl命令HTTP2支持
編譯安裝nghttp2
為了讓 curl 支持 HTTP2 我們需要安裝 nghttp2(http2 的 C 語言庫):
#安裝編譯工具等
sudo apt-get install git g++ make binutils autoconf automake autotools-dev libtool pkg-config \
zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \
libjemalloc-dev cython python3-dev python-setuptools
#編譯安裝nghttp2
git clone https://github.com/tatsuhiro-t/nghttp2.git
cd nghttp2
autoreconf -i
automake
autoconf
./configure
make
sudo make install
升級curl版本