1. 程式人生 > >curl

curl

上傳 pub 序列 cert 不同 conf 數據 root 會話

curl詳解

用法:curl [options ...] <url>
選項:(H)僅表示HTTP / HTTPS,(F)表示僅限FTP
     --anyauth選擇“任何”認證方法(H)
 -a,--append上傳時追加到目標文件(F / SFTP)
      - 基本使用HTTP基本認證(H)
     --cacert FILE CA證書驗證對等體(SSL)
     --capath DIR CA目錄以驗證對等(SSL)
 -E,--cert CERT [:PASSWD]客戶端證書文件和密碼(SSL)
     --cert-type TYPE證書文件類型(DER / PEM / ENG)(SSL)
      
- 密碼LIST要使用的SSL密碼(SSL) - 壓縮請求壓縮響應(使用deflate或gzip) -K,--config FILE指定要讀取的配置文件 --connect-timeout SECONDS允許連接的最長時間 -C, - 繼續 - 在OFFSET恢復傳輸偏移 -b,--cookie STRING / FILE從(H)讀取Cookie的字符串或文件 -c,--cookie-jar FILE操作後將cookie寫入此文件(H) --create-dirs創建必需的本地目錄層次結構 --crlf在上傳時將LF轉換為CRLF --crlfile FILE從給定文件獲取PEM格式的CRL列表
-d, - 數據DATA HTTP POST數據(H) - 數據 - ASCII數據HTTP POST ASCII數據(H) - 數據二進制數據HTTP POST二進制數據(H) --data-urlencode DATA HTTP POST數據網址編碼(H) - 指定STRING GSS-API委派許可 - 最小使用HTTP摘要身份驗證(H) - 禁用eprt使用EPRT或LPRT(F) - 可以使用EPSV(F)抑制 -D,--dump-header FILE將頭文件寫入此文件 --egd-file隨機數據(SSL)的FILE EGD套接字路徑
--engine ENGINGE加密引擎(SSL)。 “ - 引擎列表”列表 -f,--fail在HTTP錯誤(H)上靜默失敗(根本不輸出) -F,--form CONTENT指定HTTP多部分POST數據(H) --form-string STRING指定HTTP多部分POST數據(H) --ftp-account DATA帳號數據字符串(F) --ftp-alternative-to-user命令字符串替換“USER [name]”(F) --ftp-create-dirs如果不存在則創建遠程目錄(F) --ftp方法[MULTICWD / NOCWD / SINGLECWD]控制CWD使用(F) --ftp-pasv使用PASV / EPSV而不是PORT(F) -P,--ftp-port ADR使用帶有給定地址而不是PASV(F)的端口 --ftp-skip-pasv-ip跳過PASV(F)的IP地址 --ftp-pret在PASV之前發送PRET(對於drftpd)(F) --ftp-ssl-ccc認證後發送CCC(F) --ftp-ssl-ccc模式ACTIVE / PASSIVE設置CCC模式(F) --ftp-ssl-control需要SSL / TLS進行ftp登錄,清除傳輸(F) -G,--get使用HTTP GET(H)發送-d數據 -g,--globoff使用{}和[]禁用URL序列和範圍 -H,--header LINE自定義標頭傳遞到服務器(H) -I,--head僅顯示文檔信息 -h,--help這個幫助文本 --hostpubmd5 MD5十六進制編碼的主機公鑰的MD5字符串。 (SSH) -0,--http1.0使用HTTP 1.0(H) --ignore-content-length忽略HTTP Content-Length頭 -i,--include在輸出中包含協議頭(H / F) -k,--insecure允許連接到沒有證書的SSL站點(H) - 接口INTERFACE指定要使用的網絡接口/地址 -4,--ipv4將名稱解析為IPv4地址 -6,--ipv6將名稱解析為IPv6地址 -j,--junk-session-cookies忽略從文件讀取的會話cookie(H) - 休眠時間SECONDS保持性探針之間的間隔 --key KEY私鑰文件名(SSL / SSH) - 鍵型TYPE私鑰文件類型(DER / PEM / ENG)(SSL) --krb LEVEL啟用具有指定安全級別的Kerberos(F) --libcurl文件轉儲libcurl此命令行的等效代碼 - 極限速率限制傳輸速度到這個速率 -l,--list-only僅列出FTP目錄的名稱(F) - 本地端口RANGE強制使用這些本地端口號 -L, - 位置跟隨重定向(H) - 位置信任(如位置),並發送授權給其他主機(H) -M, - 手動顯示完整手冊 --mail - 從這個地址FROM郵件 - mail-rcpt TO Mail to this receiver(s) --mail-auth AUTH原始電子郵件的發起人地址 --max-filesize BYTES要下載的最大文件大小(H / F) --max-redirs NUM允許的最大重定向數(H) -m, - 最大時間SECONDS允許傳輸的最長時間 --metalink將網址定義為metalink XML文件 - 談判使用HTTP協商認證(H) -n,--netrc必須讀取.netrc的用戶名和密碼 --netrc可選使用.netrc或URL;覆蓋-n --netrc-file FILE設置要使用的netrc文件名 -N,--no-buffer禁止緩沖輸出流 --no-keepalive禁用在連接上的keepalive使用 --no-sessionid禁用SSL會話ID重用(SSL) --noproxy不使用代理的主機列表 --ntlm

輸入編碼 -f gb2312,輸出編碼-t utf-8

|grep 檢索目標命令

檢索 title、meta、content等信息,並顯示

curl http://www.qq.com|iconv -f gb2312 -t utf-8| grep -E "(<title>|<meta name=|meta content=)"

|iconv 命令

iconv命令是運行於linux平臺的文件編碼裝換工具。當我們在linux系統shell下通過curl命令或者wget命令獲取一個網頁的源代碼,當網頁的編碼與當前操作系統壞境的設置的編碼不同時,就會發現網頁中有很多亂碼。如在網頁"meta"標簽"charset"屬性值設置為"gb2312"的http://www.baidu.com百度首頁,在系統壞境變量"$LANG"值為"en_US.UTF-8"的linux系統即會產生中文亂碼現象。這時我們可以嘗試使用iconv命令進行編碼裝換,讓中文不在是亂碼。如下命令是處理百度在系統壞境變量"$LANG"值為"en_US.UTF-8"的linux系統亂碼的問題的解決方案之一:

curlhttp://www.baidu.com|iconv -fgb2312 -t utf-8

當然,你也通過改變系統壞境變量與百度首頁的"charset"值一致,也可以解決此亂碼問題,如下命令:

set LANG="gb2312"

export LANG

curl http://www.baidu.com

iconv命令的詳細語法:

iconv [選項..] [文件..]
選項:
-f 輸入編碼
-t 輸出編碼
-l 列出所有已知的編碼
-o 輸出文件

[[email protected] /]# iconv -h
Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...]
or:    iconv -l

curl