原文標題為:manual – curl usage explained需要強調的當從乙個以
ftp://
開頭的url位址下獲取檔案的時候,給定的路徑是與你進入的目錄有相關的。如,從你的ftp站點的家目錄中獲取readme
,你需要執行:
curl
.com/readme
但如果你想要從同乙個站點的根目錄中獲取readme
檔案的話,你就需要指定檔案的絕對路徑了:
curl .com//readme
在檔名之前多了乙個額外的/
對於sftp:
和scp:
的url來說,給定的路徑和檔名都表示為在伺服器上的絕對路徑和檔名。對乙個檔案的訪問與遠端使用者的家目錄相關,在檔名上需要加上字首/~/
,例如:
curl -u $user s
.com/~/.bashrc
ftp協議要求在資料傳輸開始的同時再開放一條額外的連線給客戶端。有二種方式可以完成這一操作
curl
預設的方式是使用pasv
命令讓伺服器再開放另乙個埠等待已經連線的客戶端來主動連線這一埠。對於客戶端位於防火牆之後 ,而該防火牆不允許ftp通過防火牆主動連線客戶端的情況,是非常好的解決方法。
curl ftp.download
.com
對於如果ftp伺服器也位於防火牆之後,該防火牆也不允許客戶端主動連線除21
埠之外的其他埠情況,又或者伺服器根本就不支援pasv
命令,這時就需要使用另一種方式:使用port
命令,並通知伺服器使用通過引數指定給port
命令的ip和埠來主動連線客戶端。
curl
的-p
引數支援一些不同的選擇。你的主機可能擁有多個ip位址或者多塊網絡卡,curl
允許你從它們當中進行選擇。
使用預設的ip位址進行連線:
curl -p - ftp.download
.com
curl -p le0 ftp.download
.com
curl -p 192.168
.0.10 ftp.download
.com
使用指定的網絡卡,從伺服器上獲取乙個web頁面:
curl --inte***ce eth0:1
或者:
curl --inte***ce
192.168
.1.10
使用安全的http要求在編譯curl
之前完成ssl
庫的安裝。如果按此操作,curl
就具備了使用https
協議進行獲取和提交文件的能力了。
例如:
curl
下面舉例說明如何使用帶有密碼的個人證書來自動獲取乙份文件:
curl -e /path/to/cert.pem:password
.com/
如果你忘記在命令列中指定證書的密碼,程式將會在獲取任何資料之前,提示你輸入密碼。
許多老版本的ssl伺服器在使用新版本openssl所使用的sslv3
或者tls
時會出現問題,因此有時為curl
指定所需要使用的ssl版本是非常有用的方法。使用-3
,-2
或者-1
(分別代表sslv3
,sslv2
或者sslv1
)來精確指定curl
所使用的ssl版本:
curl -2
.com/
除此之外,curl
也會首先嘗試使用v3
,然後再使用v2
。
使用openssl來將你常用的瀏覽器證書轉換成curl
可以使用的pen格式的證書,你需要如下操作:
- 在netscape中,你單擊「安全」選單按鈕;
- 選擇「證書 -> 你的證書」,然後在列表中選擇乙份證書;
- 單擊「匯出」按鈕;
- 輸入你的證書的pin
碼;
- 為你的證書選擇乙個儲存位置;
- 執行openssl
程式進行證書轉換。如果已經切換到openssl的安裝目錄,你可以執行如下命令:
對於firefox進行如下操作:選擇「選項」,然後「高階」,然後選擇「加密」標籤,檢視證書。這時會開啟證書管理器,你在其中可以進行證書的匯出操作。但是要確保選擇pem做為證書的匯出型別。
對於msie進行如下操作:選擇「internet選項「,然後選擇」內容「標籤,然後選擇」證書「。接下來,你就以可以轉換為pem格式的證書型別的將證書進行匯出操作。
對於chrome進行如下操作:選擇」設定「,然後選擇」顯示高階設定「。在https/ssl下選擇證書管理。
curl -c - -o file
上傳續傳乙份檔案(此功能要求ftp伺服器支援非標準命令:size
。如果不支援,curl會進行告知。)
curl -c - -t file
curl -c
--o file
http允許客戶端根據文件的要求指定乙個時間條件。這個條件就是「如果-被修改-自從」或者「如果-未被修改-自從」。curl
允許你通過引數-z
或者--time-cond
來指定條件。
.com/remote.htmlcurl
也可以接受乙個日期範圍。你也可以使用加入-
的方法來進行日期條件的設定。
CURL 使用詳解
curl 的一些用法詳解,commad line url curl 是一種命令列工具,作用是發出網路請求,然後得到和提取資料,顯示在 標準輸出 stdout 上面,支援多種協議。一 檢視網頁源 直接在curl命令後加上 可以看到網頁原始碼。curl www.sina.com the document...
PHP使用CURL詳解
curl是乙個非常強大的開源庫,支援很多協議,包括http ftp telnet等,我們使用它來傳送http請求。它給我 們帶來的好處是可以通過靈活的選項設定不同的http協議引數,並且支援https。curl可以根據url字首是 http 還是 https 自動選擇是否加密傳送內容。使用curl的...
PHP使用CURL詳解
curl是乙個非常強大的開源庫,支援很多協議,包括http ftp telnet等,我們使用它來傳送http請求。它給我 們帶來的好處是可以通過靈活的選項設定不同的http協議引數,並且支援https。curl可以根據url字首是 http 還是 https 自動選擇是否加密傳送內容。使用curl的...