查看“︁Curl”︁的源代码
←
Curl
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:{{spmono|curl}}}} {{NB|以下內容均以 113 年末更新至最新的 Windows Server 2022 所自帶的簡易版 {{spmono|curl}} 命令為基準,在諸 Linux 發行版上 {{spmono|curl}} 的功能只會更強而非更弱,因此亦應適用。}} ===基本項=== * <code><span style="color: #0663ba;">'''-''L'''''</span></code> 接受 URL 轉址; * <code><span style="color: #0663ba;">'''-''O'''''</span></code> 以連結中的名稱(遠端名稱)下載至當前路徑; * <code><span style="color: #0663ba;">'''-o'''</span> <span style="color: #2e8013;">'''"'''''/designated/path/to/'''''designated-filename.ext"'''</span></code> 指定儲存至在地的目的路徑及目的檔案名稱; * <code><span style="color: #0663ba;">'''--output-dir'''</span></code> 指定在地的目的路徑; * <code><span style="color: #0663ba;">'''--create-dirs'''</span></code> 在使用 <code><span style="color: #0663ba;">'''-o'''</span></code> 或 <code><span style="color: #0663ba;">'''--output-dir'''</span></code>, 或者在連用 <code><span style="color: #0663ba;">'''-''O'''''</span></code> 與 <code><span style="color: #0663ba;">'''--output-dir'''</span></code> 時,若指定的在地路徑不存在,則需要加寫此項來將其創建; * <code><span style="color: #0663ba;">'''-''C'' -'''</span></code> 恢復中斷的傳輸(注意 <span style="color: #0663ba;">{{spmono|'''''C'''''}}</span> 後面還有一個橫線,並與前面的 <span style="color: #0663ba;">{{spmono|'''''C'''''}}</span> 中間有一個空格!); * <code><span style="color: #0663ba;">'''-''Z'''''</span></code> 啟用多執行緒並行執行(當連接中採用了 globbing 時會非常有用); * <code><span style="color: #0663ba;">'''--parallel-max'''</span> <span style="color: #1ba3f7;">'''''n'''''</span></code> 設定至多多少個執行緒並行執行,預設值為 50; * <code><span style="color: #0663ba;">'''-s'''</span></code> 靜默執行(螢幕上不顯示任何字樣); * <code><span style="color: #0663ba;">'''-''S'''''</span></code> 顯示錯誤訊息,可與 <code><span style="color: #0663ba;">'''-s'''</span></code> 連用,即為:靜默執行,但在出錯時回報; * <code><span style="color: #0663ba;">'''-v'''</span></code> 喧鬧執行(螢幕上詳細地顯示與遠端交互的每一步); * <code><span style="color: #0663ba;">'''--connect-timeout'''</span> <span style="color: #1ba3f7;">'''''n'''''</span></code> 設定逾時{{emph|秒數}}; * <code><span style="color: #0663ba;">'''--max-time'''</span> <span style="color: #1ba3f7;">'''''n'''''</span></code> 設定該次作業的{{emph|以秒數計的總計時長上限}}; * <code><span style="color: #0663ba;">'''--rate'''</span> <span style="color: #1ba3f7;">'''''n''</span><span style="color: DodgerBlue;">/</span><span style="color: #007bc7;">u'''</span></code> 設定每單位時間內進行多少次傳輸,其中 <span style="color: #007bc7;">'''{{spmono|u}}'''</span> 為時間單位,可為 <span style="color: #495560;">'''{{spmono|s}}'''</span>, <span style="color: #495560;">'''{{spmono|m}}'''</span>, 或 <span style="color: #495560;">'''{{spmono|h}}'''</span>, 如若設定 <code><span style="color: #0663ba;">'''--rate'''</span> <span style="color: #495560;">'''3</span><span style="color: DodgerBlue;">/</span><span style="color: #495560;">h'''</span></code>, 則表示每小時傳輸 3 次; * <code><span style="color: #0663ba;">'''--retry'''</span> <span style="color: #1ba3f7;">'''''n'''''</span></code> 設定該次傳輸作業中在遭遇失敗時進行重試的{{emph|次數}}(預設值為 0, 也即「失敗不重試」); * <code><span style="color: #0663ba;">'''--retry-max-time'''</span> <span style="color: #1ba3f7;">'''''n'''''</span></code> 設定{{emph|全部重試過程}}所{{emph|最大}}可用的{{emph|以秒數計的總時長上限}}; * <code><span style="color: #0663ba;">'''--retry-delay'''</span> <span style="color: #1ba3f7;">'''''n'''''</span></code> 設定一個固定的失敗與重試間的{{emph|間隔秒數}}(預設值為從 1 秒起步,每次翻倍,直至 600 秒為限); * <code><span style="color: #0663ba;">'''--retry-connrefused'''</span></code> 設定為即便遭遇「連結被拒絕」也依然重試;以及 * <code><span style="color: #0663ba;">'''--retry-all-errors'''</span></code> 設定為無論遭遇何種錯誤反饋均依然重試。 ===作業 FTP=== * <code><span style="color: #0663ba;">'''-u'''</span> ''<span style="color: #3c454e;">username</span>''<span style="color: DodgerBlue;">''':'''</span>'''<span style="color: #525f6b;">password</span>'''</code> 在為作業 FTP 時指定使用者名稱及密碼。在僅使用登入資訊與一處 FTP 網域名稱時,將得到該處 FTP 在使用該使用者登入後所得到的檔案清單,加綴 <code><span style="color: #0663ba;">'''--list-only'''</span></code> 可獲得只有名稱沒有其他細節的清單; * <code><span style="color: #0663ba;">'''-''T'''''</span> <span style="color: #2e8013;">'''"'''''/local/path/to/'''''the-file.ext"'''</span></code> 指定要上載的在地檔案; * <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #851413; background-color: #ffcfd3;">CMD</span> <span style="color: #0f6b7b; background-color: #d7f0f5;">'''dir-or-file'''</span><span style="color: #2e8013;">'''"'''</span></code> 執行指令,一般可見的指令有: ** <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">DELE</span> <span style="color: #117a8c;">'''filename.ext'''</span><span style="color: #2e8013;">'''"'''</span></code> 刪除名為 <span style="color: #117a8c;">{{spmono|filename.ext}}</span> 的檔案; ** <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">MKD</span> <span style="color: #117a8c;">'''dirname'''</span><span style="color: #2e8013;">'''"'''</span></code> 創建名為 <span style="color: #117a8c;">{{spmono|dirname}}</span> 的資料夾;相應地,亦有 <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">RMD</span> <span style="color: #117a8c;">'''dirname'''</span><span style="color: #2e8013;">'''"'''</span></code> 用來刪除名為 <span style="color: #117a8c;">{{spmono|dirname}}</span> 的{{emph|'''空'''資料夾}},但由於要刪除的資料夾必須為空方可刪除,且 <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">DELE</span> <span style="color: #117a8c;">'''…'''</span><span style="color: #2e8013;">'''"'''</span></code> 的用法也有限,因此該指令其實用處不大;以及 ** <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">RNFR</span> <span style="color: #117a8c;">'''old-filename.ext'''</span><span style="color: #2e8013;">'''"'''</span> <span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">RNTO</span> <span style="color: #117a8c;">'''new-filename.ext'''</span><span style="color: #2e8013;">'''"'''</span></code> 將原有的 <span style="color: #117a8c;">{{spmono|old-filename.ext}}</span> 檔案重新命名為 <span style="color: #117a8c;">{{spmono|new-filename.ext}}</span>(註:無法透過此方法來移動檔案); * 在作業 FTP 伺服器一端時,{{emph|'''不'''可}}使用 <code><span style="color: #0663ba;">'''--create-dirs'''</span></code>, 因為 <code><span style="color: #0663ba;">'''--create-dirs'''</span></code> 只適用於下載時對在地一方不存在的路徑進行創建;若指定的上載路徑不存在,則需要先{{cmd}}或許可能涉及逐級{{cmd}} <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">MKD</span> <span style="color: #117a8c;">'''…'''</span><span style="color: #2e8013;">'''"'''</span></code> 將指定的路徑創建完畢,再行 <code><span style="color: #0663ba;">'''-''T'''''</span> <span style="color: #2e8013;">'''"…"'''</span></code> 傳輸;以及 * 在使用 <code><span style="color: #0663ba;">'''-''Q'''''</span> <span style="color: #2e8013;">'''"'''</span><span style="color: #8c1f11;">CMD</span> <span style="color: #117a8c;">'''…'''</span><span style="color: #2e8013;">'''"'''</span></code> 執行指令的時候,切記檔案或資料夾名稱部分{{emph|均'''不能'''}}有空格、{{emph|'''不能'''}}使用萬用字元或 globbing, 因此所能做到的事情極為有限,只能對{{emph|單一具名}}對象進行處理。 ===URL Globbing=== * {{spmono|curl}} 的 URL Globbing 可能看上去像是 RegEx 或是萬用字元,但它兩者都{{emph|'''不'''是}},{{emph|切勿}}以 RegEx 的預設思想來寫; * {{spmono|curl}} 的 URL Globbing 總的來說有兩種{{cmd}} <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">''x''-''y''</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 和 <code>'''<span style="color: #3b4b5a;"><nowiki>{</nowiki></span><span style="color: #4b5b72;">''a'',''b'',''c''</span><span style="color: #3b4b5a;"><nowiki>}</nowiki></span>'''</code>, 其中前者表示範圍,後者表示列舉,以下為其用法的詳細說明: ** 與 RegEx 不同的是,<code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">0-255</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 表示從 0 到 255; ** 如果在範圍末尾加入冒號,寫成形如 <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">0-255:5</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 的樣子,則表示從 0 開始計,每次增量為 5, 也即取 0, 5, 10, … , 255 這 52 個數; ** 如果寫成 <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">000-255</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 的樣子,則會自動補位; ** 寫成 <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">a-z:2</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 也是可以的,這樣便會取 a, c, e, … , y 這 13 個字母; ** <code>'''<span style="color: #3b4b5a;"><nowiki>{</nowiki></span><span style="color: #4b5b72;">''a'',''b'',''c''</span><span style="color: #3b4b5a;"><nowiki>}</nowiki></span>'''</code> 的用法為單純的列舉,因此沒有甚麼好說的,不過 <code>'''<span style="color: #3b4b5a;"><nowiki>{</nowiki></span><span style="color: #4b5b72;">''a'',''b'',''c''</span><span style="color: #3b4b5a;"><nowiki>}</nowiki></span>'''</code> 和 <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">''x''-''y''</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 可以連用,甚至是多個連用,比如 <code>'''<span style="color: #3b4b5a;"><nowiki>{</nowiki></span><span style="color: #4b5b72;">a<wbr />lau<wbr />da<wbr />,<wbr />ba<wbr />tio<wbr />la<wbr />,<wbr />car<wbr />ru<wbr />ca</span><span style="color: #3b4b5a;"><nowiki>}</nowiki></span>-<span style="color: #3b4b5a;"><nowiki>[</nowiki></span><span style="color: #4b5b72;">00<wbr />-<wbr />06<wbr />:<wbr />2</span><span style="color: #3b4b5a;"><nowiki>]</nowiki>'''</span></code> 就代表取 a<wbr />lau<wbr />da<wbr />-<wbr />02, a<wbr />lau<wbr />da<wbr />-<wbr />04, a<wbr />lau<wbr />da<wbr />-<wbr />06, ba<wbr />tio<wbr />la<wbr />-<wbr />02, ba<wbr />tio<wbr />la<wbr />-<wbr />04, ba<wbr />tio<wbr />la<wbr />-<wbr />06, car<wbr />ru<wbr />ca<wbr />-<wbr />02, car<wbr />ru<wbr />ca<wbr />-<wbr />04, car<wbr />ru<wbr />ca<wbr />-<wbr />06 這九個值;以及 ** 如果連用更多,則被指涉到的檔案就會非常多了,比如 <code>'''<span style="color: #3b4b5a;">s<nowiki>[</nowiki></span><span style="color: #4b5b72;">01-06</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span><span style="color: #3b4b5a;">e<nowiki>[</nowiki></span><span style="color: #4b5b72;">01-09</span><span style="color: #3b4b5a;"><nowiki>]</nowiki></span>.<span style="color: #3b4b5a;"><nowiki>{</nowiki></span><span style="color: #4b5b72;">mp4<wbr />,<wbr />srt</span><span style="color: #3b4b5a;"><nowiki>}</nowiki>'''</span></code>, 則理論上可以表示從 {{spmono|s01e01.mp4}} 到 {{spmono|s06e09.srt}} 共計 108 個檔案,如果其中有缺失的,則 {{spmono|curl}} 會自動跳過; * 雖然叫做 ‘URL Globbing’, 但其實它是用在傳輸過程中的{{emph|'''來源'''}}的地方的{{cmd}}這在下載過程中自然便是指的下載連結,因此這樣講沒有問題,但是在上載過程中它是可以用在 <code><span style="color: #0663ba;">'''-''T'''''</span></code> 後面的 <code><span style="color: #2e8013;">'''"'''''/<wbr />lo<wbr />cal<wbr />/<wbr />{a<wbr />le<wbr />ph<wbr />,<wbr />bet<wbr />,<wbr />gi<wbr />mel}<wbr />/<wbr />'''''file<wbr />[01<wbr />-<wbr />10]<wbr />.<wbr />{ex1<wbr />,<wbr />ex2}"'''</span></code> 部分的; * 在下載時,對於儲存至在地的處所之路徑與儲存檔案的名稱,可以使用 <code>'''<span style="color: #3b4b5a;"><nowiki>#</nowiki></span><span style="color: #4b5b72;">N</span>'''</code> 來援引在下載連結中透過 URL Globbing 表達的區塊,此處的用法與使用 RegEx 進行取代作業的用法完全一致(只是表示第幾個表達區塊的引導字元不同),比如{{cmd}} ** 若對 <code><span style="color: #2e8013;">'''"'''''https<wbr />:<wbr />/<wbr />/<wbr />exam<wbr />ple<wbr />.<wbr />com<wbr />/<wbr />{a<wbr />le<wbr />ph<wbr />,<wbr />bet<wbr />,<wbr />gi<wbr />mel}<wbr />/<wbr />img<wbr />[01<wbr />-<wbr />99]<wbr />.<wbr />{jpg<wbr />,<wbr />png<wbr />,<wbr />webp}'''''"'''</span></code> 進行下載,則 <code><span style="color: #0663ba;">'''-o'''</span></code> 後面可以寫成 <code><span style="color: #2e8013;">'''"'''''D:\Scatters\'''''#1-#2.#3"'''</span></code>, 這樣,{{spmono|curl}} 便會走訪所有可能的組合,並將所有確實存在的連結所對應的檔案都下載到 {{spmono|D:\Scatters\}} 中,且儲存下來的檔案名稱會形如 {{spmono|aleph-01.jpg}}, {{spmono|bet-23.png}}, 或 {{spmono|gimel-97.webp}} 的樣子; * 使用 <code><span style="color: #0663ba;">'''-g'''</span></code> 可在本次傳輸任務中關閉 URL Globbing 功能{{cmd}}這在當 URL 或者上載檔案名稱中包含 <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span>'''</code>, <code>'''<span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code>, <code>'''<span style="color: #3b4b5a;"><nowiki>{</nowiki></span>'''</code>, 和 <code>'''<span style="color: #3b4b5a;"><nowiki>}</nowiki></span>'''</code> 字元而同時又並不需要使用 URL Globbing 時非常方便;或者 * 如果下載連結或上載檔案名稱中確有包含上述字元而同時又需要使用 URL Globbing 的話,那麼需要將 <code>'''<span style="color: #3b4b5a;"><nowiki>[</nowiki></span>'''</code> 轉寫為 <code><span style="color: #2e8013;"><nowiki>%5b</nowiki></span></code>, <code>'''<span style="color: #3b4b5a;"><nowiki>]</nowiki></span>'''</code> 轉寫為 <code><span style="color: #2e8013;"><nowiki>%5d</nowiki></span></code>, <code>'''<span style="color: #3b4b5a;"><nowiki>{</nowiki></span>'''</code> 轉寫為 <code><span style="color: #2e8013;"><nowiki>%7b</nowiki></span>'''</code>, <code><span style="color: #3b4b5a;"><nowiki>}</nowiki></span>'''</code> 轉寫為 <code><span style="color: #2e8013;"><nowiki>%7d</nowiki></span></code> {{cmd}}正常情況下,自瀏覽器拷貝出來的連結都應該是自動完成了這些轉寫的,因此主要適用場合為上載檔案時檔案名稱中含有這些字元,但同時又需要使用 URL Globbing 時。
此页面嵌入的页面:
Template:Cmd
(
查看源代码
)
Template:Emph
(
查看源代码
)
Template:NB
(
查看源代码
)
Template:Spmono
(
查看源代码
)
返回
Curl
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息