導航:首頁 > 程序命令 > curl命令https

curl命令https

發布時間:2023-03-18 00:42:47

㈠ 如何啟用curl命令HTTP2支持

使用如下命令我們可以看到 curl 版本: curl --version 從上圖中,我們可以看到當前 curl 的版本及支持的協議以及功能特性沒有支持 HTTP2。 啟用curl命令HTTP2支持 編譯安裝nghttp2 為了讓 curl 支持 HTTP2 我們需要安裝 nghttp。

㈡ 如何啟用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

㈢ 如何使用curl獲取https請求

解決方法為在curl請求時,加入:

復制代搜腔碼代碼如下:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 從證書中檢查SSL加密演算法是否存在

curl https請求代碼

復制代碼代碼如下:
<?php
/** curl 獲取 https 請求
* @param String $url 請求的url
* @param Array $data 要發送的數據
* @param Array $header 請求時發送的header
* @param int $timeout 超時時間,默認30s
*/
function curl_https($url, $data=array(), $header=array(), $timeout=30){
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳過證書檢查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 從證書中檢查SSL加密演算法是否存在
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

$response = curl_exec($ch);

if($error=curl_error($ch)){
die($error);
}

curl_close($ch);

return $response;

}

// 調用
$url = 'https://www.example.com/api/message.php';
$data = array('name'=>'fdipzone');
$header = array();

$response = curl_https($url, $data, $header, 5);

echo $response;
?>

希望本文所述對大家豎鎮的php程序設計有所幫世纖衫助。

㈣ 怎麼用CURL向HTTPS發送請求並且獲取返回值

$header = array (
'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36'
);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_TIMEOUT, 6); 氏襲 談山 // 設置超時6秒
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 跳過SSL
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 跳過SSL
curl_setopt ($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
// 執行
$content = curl_exec ( $ch );
if ($content == FALSE) {
curl_error ( $ch );
return true;
}
// 關閉含核中
curl_close ( $ch );


㈤ curl命令詳解是什麼

linux中curl是一個利用URL標准在cmd下工作中的文件傳送工具,能夠算是一款很強悍的httpcmd工具。它支持文檔的發送和下載,是綜合性傳送工具,但按傳統式,習慣性稱Curl為下載工具。

1、curl指令是一個網路工具,其關鍵功能是根據http、ftp等方法下載文檔,也可以文件上傳,作為一個功能齊全的網路工具,curl指令與此同時支持HTTPS等諸多協議書,還支持POSTcookies驗證從特定偏位處下載一部分文檔,客戶代理商字元串數組、速度限制、圖片大小、時間軸等特點。

2、CURL是一個利用URL英語的語法在cmd下工作中的文件傳送工具,1997年初次發售。它支持上傳文件和下載,因此是綜合性傳送工具,但按傳統式,習慣性稱CURL為下載工具。

3、CURL還涵蓋了用以軟體開發的libcurl。cURL支持的通訊協議有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。

㈥ Windows下如何使用curl命令

首先來了解下什麼是curl命令,干什麼用的?

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 命令

一、基礎請求
1、Get 請求
命令格式: curl requesturl
例如: curl https://kunpeng.csdn.net/ad/template/161?positionId=427

2、Post 請求
命令格式: curl -X POST requesturl
例如: curl -X POST https://msg.csdn.net/v1/web/message/view/unread

二、指定ip發送請求
1、http命令格式:
curl -H 'Host:requestHost' http://ip:port/requestPath
或 curl -x ip:port http://requestHost/requestPath
例如:
curl -H 'Host:kunpeng.csdn.net' http://101.201.173.208:80/ad/template/161?positionId=427
curl -x '101.201.173.208:80' http://kunpeng.csdn.net/ad/template/161?positionId=427

2、https命令格式:
curl -H 'Host:requestHost' https://ip/requestPath
或 curl ip https://requestHost/requestPath -k
例如:
curl -H 'Host:kunpeng.csdn.net' https://101.201.173.208/ad/template/161?positionId=427 -k
curl '101.201.173.208' https://kunpeng.csdn.net/ad/template/161?positionId=427 -k

三、帶參數的POST請求
命令格式:

1、head請求參數用 -H表示(一個橫桿)
2、如果命令需要換行,在換行處加 反斜杠
3、body請求參數用 --data表示(兩個橫桿);請求內容有引號時,加反斜杠\

例如:

㈧ cURL進行HTTPS連接POST數據,數據怎樣輸入

PHP 下

function vpost($url,$data){ // 模擬提交數據函數

$curl = curl_init(); // 啟動一個CURL會話
curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 從證書中檢查SSL加密演算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模擬用戶使用的瀏覽器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 發送一個常規的Post請求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的數據包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 設置超時限制防止死循環
curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區域內容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); //拍蘆蘆 執行操作
if (curl_errno($curl)) {
echo 『Errno』.curl_error($curl);//捕抓異常
}
curl_close($curl); // 關閉CURL會話
return $tmpInfo; // 返回數據
}

$url = 「https://xxx.xxx.xxx/xxx」;
$data =」x=xxxxxx」;
$result = vpost($url,$data);

在C++下
以下方法用CURL提交表單

1. 編譯環境.
安裝vs2010或其他版本. vs2010 express版也可以。不要低於vc6.

2. 搜索curl-7.25.0.zip,下載。
解壓到c:\curl-7.25.0

打開Visual Studio Command Prompt (2010)
cd \curl-7.25.0\winbuild
nmake /f Makefile.vc mode=dll USE_SSSPI=no ENABLE_IDN=no

編譯成功後 cd ..\builds
到一個名字為libcurl-....lib的子目錄里找到libcurl.dll和libcurl.lib, 保存到一個目錄下備份,下嘩空面要用。

3. 打開vc++ 2010, File->New project,選Win32 Project, 輸入一個項目名。下面點Next,勾上Console Application和Empty Project.

4. 配置項目
到我的文檔下找到vs2010 projects目錄,找到 solution名字\項目名字 目錄,
把curl-7.25.0目錄下的include目錄拷貝到項目目錄下
把2備份好的libcurl.dll和libcurl.lib拷貝到項目目錄.
在vc++中右鍵點擊項目名(或Alt+F7), 點開Configuration Properties, 點vc++directories
點Include Directories, 點Edit, 添襲帶加$(ProjectDir)include 確定
在點擊左側的Linker, 點Input,點Additional Dependences, 點Edit, 添加一行$(ProjectDir)\libcurl.lib 確定

5. 代碼。
右鍵點項目名字,Add New Item->C++ File, name寫main.c, 輸入代碼:
/* 抱歉,這里不好貼鏈接,版權沒法貼,版權去看http-post.c */
#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>

int main(void)
{
CURL *curl;
CURLcode res;

curl = curl_easy_init();
if(curl) {
/* First set the URL that is about to receive our POST. This URL can
just as well be a https:// URL if that is what should receive the
data. */
curl_easy_setopt(curl, CURLOPT_URL, "這里寫網址");
/* Now specify the POST data */
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");

/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);

/* always cleanup */
curl_easy_cleanup(curl);
system("pause");
}
return 0;
}

㈨ AMH 面板curl 請求https頁面伺服器報404錯誤

那說明WEB目錄在HTTPS配置中沒有具體綁定。或者文件不支持HTTPS調用。

㈩ curl的用法

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。本文介紹了它的簡單用法。

*******************************************************************************************************************************************************

curl是一個利用URL語法在命令行方式下工作的文件傳輸工具。

它支持很多協議:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
curl同樣支持HTTPS認證,HTTP POST方法, HTTP PUT方法, FTP上傳, kerberos認證, HTTP上傳, 代理伺服器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http代理伺服器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理伺服器, 通過http代理伺服器上傳文件到FTP伺服器等等,功能十分強大。

Windows操作系統下的網路螞蟻,網際快車(FlashGet)的功能它都可以做到。准確的說,curl支持文件的上傳和下載,所以是一個綜合傳輸工具,但是按照傳統,用戶習慣稱curl為下載工具。

curl是瑞典curl組織開發的,您可以訪問: http://curl.haxx.se/
獲取它的源代碼和相關說明。

鑒於curl在Linux上的廣泛使用,IBM在AIX Linux Toolbox的光碟中包含了這個軟體,並且您可以訪問IBM網站:

http://www- 1.ibm.com/servers/aix/procts/aixos/linux/altlic.html 下載它。

curl的最新版本是 7.10.8,IBM網站上提供的版本為7.9.3。

在AIX下的安裝很簡單,IBM網站上下載的rpm格式的包。

在 http://curl.haxx.se/docs/,您可以下載到UNIX格式的man幫助,裡面有詳細的curl工具的使用說明。
curl的用法為:curl [options] [URL...]
其中options是下載需要的參數,大約有80多個,curl的各個功能完全是依靠這些參數完成的。
具體參數的使用,用戶可以參考curl的man幫助。
下面,本文就將結合具體的例子來說明怎樣利用curl進行下載。

1、獲得一張頁面

使用命令:curl http://curl.haxx.se
這是最簡單的使用方法。用這個命令獲得了http://curl.haxx.se指向的頁面,同樣,如果這里的URL指向的是一個文件或者一幅圖都可以直接下載到本地。如果下載的是HTML文檔,那麼預設的將不顯示文件頭部,即HTML文檔的header。要全部顯示,請加參數 -i,要只顯示頭部,用參數 -I。任何時候,可以使用 -v 命令看curl是怎樣工作的,它向伺服器發送的所有命令都會顯示出來。為了斷點續傳,可以使用-r參數來指定傳輸范圍。

2、表單(Form)的獲取

在WEB頁面設計中,form是很重要的元素。Form通常用來收集並向網站提交信息。提交信息的方法有兩種,GET方法和POST方法。先討論GET方法,例如在頁面中有這樣一段:
<form method="GET" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>
那麼瀏覽器上會出現一個文本框和一個標為「OK」的按鈕。按下這個按鈕,表單就用GET方法向伺服器提交文本框的數據。
例如原始頁面是在 www.hotmail.com/when/birth.html看到的,然後您在文本框中輸入1905,然後按OK按鈕,那麼瀏覽器的URL現在應該是:「www.hotmail.com/when/junk.cgi?birthyear=1905&;press=OK」
對於這種網頁,curl可以直接處理,例如想獲取上面的網頁,只要輸入:

curl "www.hotmail.com/when/junk.cgi?birthyear=1905&;press=OK"

就可以了。

表單用來提交信息的第二種方法叫做POST方法,POST方法和GET方法的區別在於GET方法使用的時候,瀏覽器中會產生目標URL,而POST不會。類似GET,這里有一個網頁:
<form method="POST" action="junk.cgi">
<input type=text name="birthyear">
<input type=submit name=press value="OK">
</form>
瀏覽器上也會出現一個文本框和一個標為「OK」的按鈕。按下這個按鈕,表單用POST方法向伺服器提交數據。

這時的URL是看不到的,因此需要使用特殊的方法來抓取這個頁面:

curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi
這個命令就可以做到。
1995年年末,RFC 1867定義了一種新的POST方法,用來上傳文件。主要用於把本地文件上傳到伺服器。此時頁面是這樣寫的:
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>

對於這種頁面,curl的用法不同:
curl -F upload=@localfilename -F press=OK URL

這個命令的實質是將本地的文件用POST上傳到伺服器。
有關POST還有不少用法,用戶可以自己摸索。

3、使用PUT方法。

HTTP協議文件上傳的標准方法是使用PUT,此時curl命令使用-T參數:
curl -T uploadfile www.uploadhttp.com/receive.cgi

4、有關認證。

curl可以處理各種情況的認證頁面,例如下載用戶名/密碼認證方式的頁面(在IE中通常是出現一個輸入用戶名和密碼的輸入框):
curl -u name:password www.secrets.com
如果網路是通過http代理伺服器出去的,而代理伺服器需要用戶名和密碼,那麼輸入:
curl -U proxyuser:proxypassword http://curl.haxx.se
任何需要輸入用戶名和密碼的時候,只在參數中指定用戶名而空著密碼,curl可以互動式的讓用戶輸入密碼。

5、引用。

有些網路資源訪問的時候必須經過另外一個網路地址跳轉過去,這用術語來說是:referer,引用。
對於這種地址的資源,curl也可以下載:
curl -e http://curl.haxx.se daniel.haxx.se

6、指定用戶客戶端。

有些網路資源首先需要判斷用戶使用的是什麼瀏覽器,符合標准了才能夠下載或者瀏覽。
此時curl可以把自己「偽裝」成任何其他瀏覽器:
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" URL

這個指令表示curl偽裝成了IE5.0,用戶平台是Windows 2000。(對方伺服器是根據這個字串來判斷客戶端的類型的,所以即使使用AIX也無所謂)。
使用:
curl -A "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" URL

此時curl變成了Netscape,運行在PIII平台的Linux上了。

7、COOKIES

Cookie是伺服器經常使用的一種記憶客戶信息的方法。如果cookie被記錄在了文件中,那麼使用命令:
curl -b stored_cookies_in_file www.cookiesite.com
curl可以根據舊的cookie寫出新cookie並發送到網站:
curl -b cookies.txt -c newcookies.txt www.cookiesite.com

8、加密的HTTP——HTTPS。

如果是通過OpenSSL加密的https協議傳輸的網頁,curl可以直接訪問:
curl https://that.secure.server.com

9、http認證。

如果是採用證書認證的http地址,證書在本地,那麼curl這樣使用:
curl -E mycert.pem https://that.secure.server.com

參考讀物和注意事項:

curl非常博大,用戶要想使用好這個工具,除了詳細學習參數之外,還需要深刻理解http的各種協議與URL的各個語法。
這里推薦幾個讀物:

RFC 2616 HTTP協議語法的定義。
RFC 2396 URL語法的定義。
RFC 2109 Cookie是怎樣工作的。
RFC 1867 HTTP如何POST,以及POST的格式。

文字

curl是免費軟體,IBM公司對curl不提供技術支持。

curl官方網站:
http://curl.haxx.se

閱讀全文

與curl命令https相關的資料

熱點內容
命令方塊怎麼調鍵盤 瀏覽:841
不把密碼存在伺服器上怎麼辦 瀏覽:398
怎麼讓指令方塊的命令消失 瀏覽:543
用單片機做plc 瀏覽:404
雲伺服器進入子目錄命令 瀏覽:795
伺服器機櫃如何配電 瀏覽:578
怎麼刪除iphone資源庫里的app 瀏覽:940
pdf魚 瀏覽:648
單片機pcf8591什麼作用 瀏覽:805
sql命令學院 瀏覽:283
加密軟體在電腦那個盤 瀏覽:988
android獲取外部存儲 瀏覽:573
怎麼查自己家的伺服器地址 瀏覽:858
編程c語言工作好不好 瀏覽:569
單片機焊接地怎麼連接 瀏覽:694
游戲源碼怎麼抓 瀏覽:216
程序員幫大家引走怪物 瀏覽:16
手機網頁小游戲源碼 瀏覽:513
戰地一伺服器怎麼設置管理員 瀏覽:396
數控車床編程可以上班嗎 瀏覽:460