linux命令之curl
1、curl命令簡(jiǎn)介
curl命令是一個(gè)利用URL規(guī)則在命令行下工作的文件傳輸工具。它支持文件的上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱curl為下載工具。作為一款強(qiáng)力工具,curl支持包括HTTP、HTTPS、ftp等眾多協(xié)議,還支持POST、cookies、認(rèn)證、從指定偏移處下載部分文件、用戶代理字符串、限速、文件大小、進(jìn)度條等特征、做網(wǎng)頁(yè)處理流程和數(shù)據(jù)檢索自動(dòng)化等常用需求。
1.1 語(yǔ)法
curl(選項(xiàng))(參數(shù))
1.2 參數(shù)
- -a/--append:上傳文件時(shí),附加到目標(biāo)文件。
- -A/--user-agent <string>;設(shè)置用戶代理發(fā)送給服務(wù)器。
- -anyauth:可以使用“任何”身份驗(yàn)證方法
- -b/--cookie <name=string/file>:cookie字符串或文件讀取位置。
- --basic:使用HTTP基本驗(yàn)證。
- -B/--use-ascii:使用ASCII文本傳輸。
- -c/--cookie-jar <file>:操作結(jié)束后把cookie寫入到這個(gè)文件中。
- -C/--continue-at <offset>:斷點(diǎn)續(xù)轉(zhuǎn)。
- -d/--data <data>:HTTP POST方式傳送數(shù)據(jù)。
- --data-ascii <data>:以ascii的方式post數(shù)據(jù)。
- --data-binary <data>:以二進(jìn)制的方式post數(shù)據(jù)。
- --negotiate:使用HTTP身份驗(yàn)證。
- --digest:使用數(shù)字身份驗(yàn)證。
- --disable-eprt:禁止使用EPRT或LPRT。
- --disable-epsv:禁止使用EPSV。
- -D/--dump-header <file>:把header信息寫入到該文件中。
- --egd-file <file>:為隨機(jī)數(shù)據(jù)(SSL)設(shè)置EGD socket路徑。
- --tcp-nodelay:使用TCP_NODELAY選項(xiàng)。
- -e/--referer:來(lái)源網(wǎng)址。
- -E/--cert <cert[:password]>:客戶端證書文件和密碼 (SSL)。
- --cert-type <type>:證書文件類型 (DER/PEM/ENG) (SSL)。
- --key <key>:私鑰文件名 (SSL)。
- --key-type <type>:私鑰文件類型 (DER/PEM/ENG) (SSL)。
- --pass <pass>:私鑰密碼 (SSL)。
- --engine <eng>:加密引擎使用 (SSL) "--engine list" for list。
- --cacert <file>:CA證書 (SSL)。
- --capath <dierctory>:CA目錄 (made using c_rehash) to verify peer against (SSL)。
- --ciphers <list>:SSL密碼。
- --compressed:要求返回是壓縮的形勢(shì) (using deflate or gzip)。
- --connect-timeout <seconds>:設(shè)置最大請(qǐng)求時(shí)間。
- --create-dirs:建立本地目錄的目錄層次結(jié)構(gòu)。
- --crlf:上傳是把LF轉(zhuǎn)變成CRLF。
- -f/--fail:連接失敗時(shí)不顯示http錯(cuò)誤。
- --ftp-create-dirs:如果遠(yuǎn)程目錄不存在,創(chuàng)建遠(yuǎn)程目錄。
- --ftp-method [multicwd/nocwd/singlecwd]:控制CWD的使用。
- --ftp-pasv:使用 PASV/EPSV 代替端口。
- --ftp-skip-pasv-ip:使用PASV的時(shí)候,忽略該IP地址。
- --ftp-ssl:嘗試用 SSL/TLS 來(lái)進(jìn)行ftp數(shù)據(jù)傳輸。
- --ftp-ssl-reqd;要求用 SSL/TLS 來(lái)進(jìn)行ftp數(shù)據(jù)傳輸。
- -F/--form 模擬http表單提交數(shù)據(jù)。
- --form-string <name=string>:模擬http表單提交數(shù)據(jù)。
- -g/--globoff:禁用網(wǎng)址序列和范圍使用{}和[]。
- -G/--get:以get的方式來(lái)發(fā)送數(shù)據(jù)。
- -H/--header <line>:自定義頭信息傳遞給服務(wù)器。
- --ignore-content-length:忽略的HTTP頭信息的長(zhǎng)度。
- -i/--include:輸出時(shí)包括protocol頭信息。
- -I/--head:只顯示請(qǐng)求頭信息。
- -j/--junk-session-cookies:讀取文件進(jìn)忽略session cookie。
- --interface <interface>:使用指定網(wǎng)絡(luò)接口/地址。
- --krb4 <level>:使用指定安全級(jí)別的krb4。
- -k/--insecure:允許不使用證書到SSL站點(diǎn)。
- -K/--config:指定的配置文件讀取。
- -l/--list-only:列出ftp目錄下的文件名稱。
- --limit-rate <rate>:設(shè)置傳輸速度。
- --local-port <NUM>:強(qiáng)制使用本地端口號(hào)。
- -m/--max-time <seconds>:設(shè)置最大傳輸時(shí)間。
- --max-redirs <num>:設(shè)置最大讀取的目錄數(shù)。
- --max-filesize <bytes>:設(shè)置最大下載的文件總量。
- -M/--manual:顯示全手動(dòng)。
- -n/--netrc:從netrc文件中讀取用戶名和密碼。
- --netrc-optional:使用 .netrc 或者 URL來(lái)覆蓋-n。
- --ntlm:使用 HTTP NTLM 身份驗(yàn)證。
- -N/--no-buffer:禁用緩沖輸出。
- -o/--output:把輸出寫到該文件中。
- -O/--remote-name:把輸出寫到該文件中,保留遠(yuǎn)程文件的文件名。
- -p/--proxytunnel:使用HTTP代理。
- --proxy-anyauth:選擇任一代理身份驗(yàn)證方法。
- --proxy-basic:在代理上使用基本身份驗(yàn)證。
- --proxy-digest:在代理上使用數(shù)字身份驗(yàn)證。
- --proxy-ntlm:在代理上使用ntlm身份驗(yàn)證。
- -P/--ftp-port <address>:使用端口地址,而不是使用PASV。
- -q:作為第一個(gè)參數(shù),關(guān)閉 .curlrc。
- -Q/--quote <cmd>:文件傳輸前,發(fā)送命令到服務(wù)器。
- -r/--range <range>:檢索來(lái)自HTTP/1.1或FTP服務(wù)器字節(jié)范圍。
- --range-file:讀取(SSL)的隨機(jī)文件。
- -R/--remote-time:在本地生成文件時(shí),保留遠(yuǎn)程文件時(shí)間。
- --retry <num>:傳輸出現(xiàn)問(wèn)題時(shí),重試的次數(shù)。
- --retry-delay <seconds>:傳輸出現(xiàn)問(wèn)題時(shí),設(shè)置重試間隔時(shí)間。
- --retry-max-time <seconds>:傳輸出現(xiàn)問(wèn)題時(shí),設(shè)置最大重試時(shí)間。
- -s/--silent:靜默模式。不輸出任何東西。
- -S/--show-error:顯示錯(cuò)誤。
- --socks4 <host[:port]>:用socks4代理給定主機(jī)和端口。
- --socks5 <host[:port]>:用socks5代理給定主機(jī)和端口。
- --stderr <file>
-t/--telnet-option <opt=val>:Telnet選項(xiàng)設(shè)置。 - --trace <file>:對(duì)指定文件進(jìn)行debug。
- --trace-ascii <file>:Like --跟蹤但沒(méi)有hex輸出。
- --trace-time:跟蹤/詳細(xì)輸出時(shí),添加時(shí)間戳。
- -T/--upload-file <file>:上傳文件。
- --url <url>:Spet URL to work with。
- -u/--user <user[:password]>:設(shè)置服務(wù)器的用戶和密碼。
- -U/--proxy-user <user[:password]>:設(shè)置代理用戶名和密碼。
- -w/--write-out [format]:什么輸出完成后。
- -x/--proxy <host[:port]>:在給定的端口上使用HTTP代理。
- -X/--request:指定什么命令。
- -y/--speed-time:放棄限速所要的時(shí)間,默認(rèn)為30。
- -Y/--speed-limit:停止傳輸速度的限制,速度時(shí)間。
1.3 實(shí)例
實(shí)例將陸續(xù)添加。