轉 curl的詳細使用

2021-09-07 06:26:16 字數 3089 閱讀 4305

**:

curl
-o:將檔案儲存為命令列中指定的檔名的檔案中

-o:使用url中預設的檔名儲存檔案到本地

2 curl -o mygettext.html

3 4 # 將檔案儲存到本地並命名為gettext.html

5 curl -o

同樣可以使用轉向字元">"對輸出進行轉向輸出

同時獲取多個檔案

1 curl -o url1 -o url2
通過-l選項進行重定向

預設情況下curl不會傳送http location headers(重定向).當乙個被請求頁面移動到另乙個站點時,會傳送乙個http loaction header作為請求,然後將請求重定向到新的位址上。

例如:訪問google.com時,會自動將位址重定向到google.com.hk上。

1 curl 

2 37 8

9 the document has moved

10 here.

11 12

上述輸出說明所請求的檔案被轉移到了.hk。

這是可以通過使用-l選項進行強制重定向

1 # 讓curl使用位址重定向,此時會查詢google.com.hk站點

2 curl -l

斷點續傳

通過使用-c選項可對大檔案使用斷點續傳功能,如:

2 $ curl -o

3 ############## 20.1%

4 6 curl -c - -o

7 ############### 21.1%

對curl使用網路限速

通過--limit-rate選項對curl的最大網路使用進行限制

2 3 curl --limit-rate 1000b -o

2 curl -z 21-dec-11

curl授權

在訪問需要授權的頁面時,可通過-u選項提供使用者名稱和密碼進行授權

1 curl -u username:password url

2 3 # 通常的做法是在命令列只輸入使用者名稱,之後會提示輸入密碼,這樣可以保證在檢視歷史記錄時不會將密碼洩露

4 curl -u username url

1 # 列出public_html下的所有資料夾和檔案

2 curl -u ftpuser:ftppass -o ftp://ftp_server/public_html/

3 5 curl -u ftpuser:ftppass -o ftp://ftp_server/public_html/xss.php

上傳檔案到ftp伺服器

通過 -t 選項可將指定的本地檔案上傳到ftp伺服器上

# 將myfile.txt檔案上傳到伺服器

curl -u ftpuser:ftppass -t myfile.txt

# 同時上傳多個檔案

curl -u ftpuser:ftppass -t ""

# 從標準輸入獲取內容儲存到伺服器指定的檔案中

curl -u ftpuser:ftppass -t - /myfile_1.txt

獲取更多資訊

通過字典查詢單詞

1 # 查詢bash單詞的含義

2 curl dict:

3 4 # 列出所有可用詞典

5 curl dict:

6 7 # 在foldoc詞典中查詢bash單詞的含義

8 curl dict::foldoc

為curl設定**

-x 選項可以為curl新增**功能

1 # 指定**主機和埠

2 curl -x proxysever.test.com:3128

其他**整理

儲存與使用**cookie資訊

1 # 將**的cookies資訊儲存到sugarcookies檔案中

3 4 # 使用上次儲存的cookie資訊

傳遞請求資料

預設curl使用get方式請求資料,這種方式下直接通過url傳遞資料

可以通過 --data/-d 方式指定使用post方式傳遞資料

1 # get

2 curl -u username

3 4 # post

5 curl -u username --data "param1=value1¶m2=value"

6 7 # 也可以指定乙個檔案,將該檔案中的內容當作資料傳遞給伺服器端

8 curl --data @filename

注:預設情況下,通過post方式傳遞過去的資料中若有特殊字元,首先需要將特殊字元轉義在傳遞給伺服器端,如value值中包含有空格,則需要先將空格轉換成%20,如:

1 curl -d "value%201"
在新版本的curl中,提供了新的選項 --data-urlencode,通過該選項提供的引數會自動轉義特殊字元。

1 curl --data-urlencode "value 1"
除了使用get和post協議外,還可以通過 -x 選項指定其它協議,如:

1 curl -i -x delete
上傳檔案

curl詳細用法

curl是乙個和伺服器互動資訊 傳送和獲取資訊 的命令列工具,支援dict,file,ftp,ftps,gopher,http,https,imap,imaps,ldap,ldaps,pop3,pop3s,rtmp,rtsp,scp,sftp,smtp,smtps,telnet和tftp等協議。cu...

CURL狀態碼列表 詳細

curl狀態碼列表 狀態碼狀態原因解釋0 正常訪問 1錯誤的協議 未支援的協議。此版curl 不支援這一協議。2初始化 失敗 初始化失敗。3url格式不正確 url 格式錯誤。語法不正確。4請求協議錯誤 rxrdehdjsg 5無法解析 無法解析 無法解析給定 主機。6無法解析主機位址 無法解析主機...

cURL的基本使用

初始化 ch curl init 設定選項,包括url curl setopt ch,curlopt url,將curl exec 獲取的資訊以檔案流的形式返回,而不是直接輸出 curl setopt ch,curlopt returntransfer,1 啟用時會將標頭檔案的資訊作為資料流輸出 很...