新到貨2本75折
cURL必知必會

cURL必知必會

  • 定價:354
  • 優惠價:87308
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

curl是一個利用URL語法在命令列下工作的檔案傳輸工具,支持文件上傳和下載。作為cURL專案的創造人和負責人,作者結合自己的開發和使用經驗,為我們提供了curl的詳盡指南。書中內容涵蓋cURL專案介紹、作為命令列工具的用法、作為函式程式庫的用法,等等。
 

作者介紹

cURL項目首席開發者,2017年瑞典Polhem獎章獲得者,主要從事開源和自由軟體發展。作為一名互聯網協議極客,他從1985年就開始程式設計,並以此為生。他為wolfSSL提供curl商業支援,還在IETF(國際互聯網工程任務組)任職,專注HTTPbis和QUIC。他也會時不時地發表公開演講,並在twitch上教人怎麼開發curl。
 

目錄

第 1 章 cURL項目 1
1.1 它是如何開始的 2
1.2.1 發音問題 2
1.2.2 混淆 2
1.2.3 作為動詞 2
1.3 curl可以做什麼 3
1.3.1 命令列工具curl 3
1.3.2 libcurl庫 3
1.4 開發團隊 4
1.5 curl的用戶 5
1.5.1 開源 5
1.5.2 下載量 5
1.5.3 找出用戶 6
1.5.4 命令列工具用戶 6
1.5.5 嵌入式庫 6
1.5.6 網站後端 6
1.5.7 著名的用戶 6

第 2 章 命令列基礎 8
2.1 命令列選項 9
2.1.1 短選項 9
2.1.2 長選項 10
2.1.3 選項的參數 10
2.1.4 帶空格的參數 10
2.1.5 負選項 11
2.2 不同版本的選項 11
2.3 URL 11
2.3.1 scheme 12
2.3.2 scheme分隔符號 12
2.3.3 不使用scheme 13
2.3.4 用戶名和密碼 13
2.3.5 主機名稱或地址 13
2.3.6 埠號 13
2.3.7 路徑 14
2.3.8 FTP類型 14
2.3.9 片段 15
2.3.10 流覽器的“地址欄” 15
2.3.11 多個選項和多個URL 15
2.3.12 URL的單獨選項 15
2.3.13 連接重用 16
2.4 URL通配 16
2.4.1 數值範圍 16
2.4.2 字母範圍 17
2.4.3 列表 17
2.4.4 組合 17
2.4.5 輸出變數 17
2.5 列出所有的命令列選項 18
2.6 設定檔 18
2.7 密碼和窺探 20
2.7.1 命令列洩露 20
2.7.2 網路洩露 20
2.8 進度指示器 20
2.8.1 單位 21
2.8.2 進度指示器圖例 21

第 3 章 使用curl 23
3.1 詳細模式 23
3.1.1 --trace和--trace-ascii 25
3.1.2 --trace-time 26
3.1.3 HTTP 2 27
3.1.4 --write-out 27
3.1.5 可用的--write-out 變數 27
3.1.6 靜默模式 29
3.2 持久連接 29
3.3 下載 29
3.3.1 究竟下載了哪些內容 29
3.3.2 保存下載的內容 30
3.3.3 用URL指定的檔案名保存內容 30
3.3.4 從伺服器獲取目的檔案名 31
3.3.5 HTML和字元集 31
3.3.6 壓縮 31
3.3.7 shell重定向 32
3.3.8 多個下載 32
3.3.9 讓所有URL使用自己的檔案名 33
3.3.10 “我的流覽器顯示的是其他內容” 33
3.3.11 用戶端差異 33
3.3.12 伺服器端差異 34
3.3.13 仲介的欺騙 34
3.3.14 速率限定 34
3.3.15 最大的文件 35
3.3.16 Metalink 35
3.3.17 在檔案系統中保存中繼資料 36
3.3.18 --raw 36
3.3.19 失敗重試 36
3.3.20 恢復下載和下載範圍 36
3.4 上傳 37
3.4.1 支援上傳的協定 37
3.4.2 HTTP 提供了幾種“上傳”方式 37
3.4.3 POST 37
3.4.4 multipart formpost 38
3.4.5 PUT 38
3.4.6 FTP上傳 38
3.4.7 SMTP上傳 38
3.4.8 上傳的進度指示器 39
3.4.9 速率限定 39
3.5 連接 39
3.5.1 主機名稱解析技巧 39
3.5.2 基於c-ares庫的功能變數名稱解析 41
3.5.3 連接逾時 41
3.5.4 網路介面 41
3.5.5 本地埠號 42
3.5.6 keepalive 42
3.6 超時 43
3.6.1 允許的最長時間 43
3.6.2 允許的最長連線時間 43
3.6.3 傳輸速率慢到一定程度就退出 43
3.6.4 保持連接活躍 44
3.7 .netrc 44
3.7.1 .netrc的檔案格式 44
3.7.2 啟用netrc 45
3.8 代理 45
3.8.1 發現你的代理 45
3.8.2 PAC 46
3.8.3 代理類型 46
3.8.4 HTTP 46
3.8.5 HTTPS和代理 46
3.8.6 MITM代理 47
3.8.7 HTTP代理與非HTTP協定 47
3.8.8 HTTP代理通道 47
3.8.9 SOCKS類型 48
3.8.10 代理身份驗證 48
3.8.11 使用HTTPS連接代理 49
3.8.12 代理環境變數 49
3.9 退出狀態 50
3.9.1 可用的退出碼 50
3.9.2 錯誤消息 56
3.9.3 “未使用” 56
3.10 FTP 56
3.10.1 ping-pong 56
3.10.2 傳輸模式 57
3.10.3 身份驗證 57
3.10.4 FTP使用兩個連接 57
3.10.5 如何遍歷目錄 58
3.10.6 高級FTP特性 59
3.11 SCP和SFTP 60
3.11.1 URL 60
3.11.2 已知的主機 61
3.12 SMTP 62
3.12.1 示例(email.txt) 62
3.12.2 安全的郵件傳輸 63
3.12.3 SMTP URL 63
3.12.4 不進行MX查找 63
3.13 TLS 64
3.13.1 密碼 64
3.13.2 啟用TLS 64
3.13.3 SSL和TLS版本 65
3.13.4 驗證伺服器憑證 66
3.13.5 CA存儲 66
3.13.6 證書固定 67
3.13.7 OCSP裝訂 67
3.13.8 用戶端證書 68
3.14 SSLKEYLOGFILE 8
3.15 複製為curl命令 69
3.15.1 Firefox 69
3.15.2 Chrome 70
3.15.3 Safari 70
3.15.4 不使用Firefox的開發者工具 71
3.15.5 不完美 71

第 4 章 用curl執行HTTP操作 72
4.1 協議基礎 72
4.1.1 HTTP方法 72
4.1.2 HTTP協議基礎 72
4.1.3 將URL轉換為請求 73
4.1.4 --path-as-is 73
4.2 回應 74
4.2.1 HTTP回應 74
4.2.2 HTTP回應訊息的大小 74
4.2.3 HTTP回應碼 74
4.2.4 CONNECT回應碼 75
4.2.5 分塊傳輸編碼 75
4.2.6 gzip壓縮傳輸 75
4.2.7 壓縮傳輸編碼 75
4.2.8 傳遞傳輸編碼 76
4.3 HTTP身份驗證 76
4.4 HTTP區間 77
4.5 HTTP版本 78
4.6 HTTP POST 78
4.6.1 Content-Type 79
4.6.2 POST二進位內容 79
4.6.3 URL編碼 79
4.6.4 轉換為GET 80
4.6.5 Expect: 100-continue 80
4.6.6 分塊編碼的POST 81
4.6.7 隱藏的表單字段 81
4.6.8 瞭解流覽器都發送了些什麼 81
4.6.9 JavaScript和表單 82
4.7 HTTP multipart formpost 82
4.7.1 使用curl發送表單 83
4.7.2 生成的HTTP內容 83
4.7.3 Content-Type 84
4.8 -d與-F 84
4.8.1 HTML Web表單 84
4.8.2 HTML之外的POST 85
4.9 重定向 85
4.9.1 HTTP重定向 85
4.9.2 永久重定向和臨時重定向 85
4.9.3 讓curl遵循重定向 86
4.9.4 GET還是POST 86
4.9.5 決定在重定向中使用哪種方法 87
4.9.6 重定向到其他主機 87
4.9.7 非HTTP重定向 87
4.9.8 HTML重定向 87
4.9.9 JavaScript重定向 87
4.10 修改HTTP請求 88
4.10.1 請求方法 88
4.10.2 自訂標頭 88
4.10.3 referer 89
4.10.4 User-Agent 89
4.10.5 時間條件 90
4.11 PUT 90
4.12 cookie 91
4.12.1 cookie引擎 91
4.12.2 從文件中讀取cookie 91
4.12.3 將cookie寫入文件 92
4.12.4 新cookie會話 92
4.13 HTTP 2 92

第 5 章 構建和安裝 94
5.1 安裝預構建的二進位包 94
5.2 從原始程式碼構建 96
5.2.1 git與tarball 96
5.2.2 在Linux和類Unix系統上 96
5.2.3 自動工具 97
5.2.4 選擇TLS後端 97
5.3 依賴項 98
5.3.1 zlib 98
5.3.2 c-ares 98
5.3.3 libssh2 98
5.3.4 nghttp2 98
5.3.5 openldap 98
5.3.6 librtmp 99
5.3.7 libmetalink 99
5.3.8 libpsl 99
5.3.9 libidn2 99
5.4 TLS庫 99
5.4.1 用TLS庫構建curl 99
5.4.2 使用boringssl構建curl 102

第 6 章 libcurl基礎 103
6.1 easy控制碼 103
6.2 “驅動”傳輸 104
6.2.1 使用easy介面 105
6.2.2 使用multi介面 105
6.2.3 單個傳輸什麼時候結束 107
6.2.4 使用multi_socket介面 107
6.2.5 選擇一個 108
6.2.6 多個easy控制碼 108
6.2.7 multi_socket回檔 108
6.2.8 如何開始傳輸 109
6.2.9 什麼時候結束 110
6.3 連接重用 110
6.3.1 easy API連接池 110
6.3.2 multi API連接池 110
6.3.3 共用“連接緩存” 111
6.4 回檔 111
6.4.1 寫回檔 111
6.4.2 讀回檔 112
6.4.3 進度回檔 112
6.4.4 標頭回檔 113
6.4.5 調試回檔 114
6.4.6 sockopt回檔 114
6.4.7 opensocket和closesocket回檔 115
6.4.8 提供檔描述符 115
6.4.9 closesocket回檔 116
6.5 清理 116
6.5.1 multi API 116
6.5.2 easy控制碼 116
6.5.3 功能變數名稱解析器後端 117
6.6 代理 118
6.6.1 代理類型 118
6.6.2 本地或代理功能變數名稱查找 119
6.6.3 哪個代理 119
6.6.4 代理環境變數 119
6.6.5 HTTP代理 120
6.6.6 HTTPS代理 120
6.7 傳輸後的資訊 121
6.7.1 可用的資訊 121
6.7.2 在控制碼之間共用資料 123
6.7.3 multi控制碼 123
6.7.4 在easy控制碼間共用資料 123
6.7.5 共用什麼 123
6.7.6 鎖定 124
6.8 API相容性 124
6.8.1 版本號 124
6.8.2 版本號數字的變化 125
6.8.3 哪個libcurl版本 125
6.8.4 運行的是哪個libcurl版本 126
6.9 curl --libcurl 127
6.10 標頭檔 128
6.11 全域初始化 128
6.12 libcurl多執行緒 129
6.13 curl easy選項 129
6.13.1 設置控制碼選項 129
6.13.2 設置數位選項 129
6.13.3 獲取控制碼選項 130
6.14 CURLcode返回碼 130
6.15 詳細操作 130
6.16 libcurl示例 131
6.16.1 獲取一個簡單的HTML頁面 131
6.16.2 獲取HTML頁面並保存在記憶體中 132

第 7 章 用libcurl執行HTTP操作 135
7.1 HTTP回應 135
7.1.1 HTTP回應碼 135
7.1.2 關於HTTP的“錯誤”回應碼 136
7.2 HTTP請求 136
7.2.1 請求方法 136
7.2.2 自訂HTTP請求標頭 137
7.3 HTTP版本 139
7.4 HTTP區間 139
7.4.1 HTTP身份驗證 140
7.4.2 用戶名和密碼 140
7.4.3 要求進行身份驗證 140
7.4.4 Basic 140
7.5 在libcurl中處理cookie 141
7.5.1 cookie引擎 141
7.5.2 設置自訂cookie 142
7.5.3 導入和匯出 142
7.5.4 cookie檔案格式 143
7.6 下載 144
7.6.1 使用libcurl進行HTTP下載 144
7.6.2 同時下載標頭 144
7.7 上傳 145
7.7.1 HTTP上傳 145
7.7.2 HTTP POST 145
7.7.3 HTTP multipart formpost 145

第 8 章 語言綁定 146
 

詳細資料

  • ISBN:9787115523860
  • 規格:平裝 / 147頁 / 16k / 19 x 26 x 1 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【商業理財-理財】天下文化「荷包、心靈都自由」投資理財電子書展,參展書單書88折、雙書82折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 科學75折起
  • 799現折79
  • 紅樓夢