成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七個使用 wget 命令的技巧

系統 Linux
wget 是一個下載網頁文件的免費工具。它將互聯網上的數據保存到一個文件或展示在終端上。實際上這也是像 Firefox 或 Chromium 這樣的網頁瀏覽器的工作原理。

[[436165]]

用你的 Linux 終端中從互聯網上下載文件。

wget 是一個下載網頁文件的免費工具。它將互聯網上的數據保存到一個文件或展示在終端上。實際上這也是像 Firefox 或 Chromium 這樣的網頁瀏覽器的工作原理。有一個區別是,網頁瀏覽器默認將網頁 渲染render在圖形窗口中,并且通常需要用戶主動來操作它們。而 wget 工具是無交互的使用方式,也就是說你可以使用腳本或定期使用 wget 來下載文件,不論你人是否在電腦面前。

使用 wget 下載文件

你可以通過提供一個特定 URL 的鏈接,用 wget 下載一個文件。如果你提供一個默認為 index.html 的 URL,那么就會下載該索引頁。默認情況下,文件會被下載到你當前的工作目錄,并保持原來的名字。

  1. $ wget http://example.com
  2. --2021-09-20 17:23:47-- http://example.com/
  3. Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
  4. Connecting to example.com|93.184.216.34|:80... connected.
  5. HTTP request sent, awaiting response... 200 OK
  6. Length: 1256 (1.2K) [text/html]
  7. Saving to: 'index.html'

通過使用 --output-document 和 - 符號,你可以指示 wget 將數據發送到 標準輸出stdout

  1. $ wget http://example.com --output-document - | head -n4
  2. <!doctype html>
  3. <html>
  4. <head>
  5. <title>Example Domain</title>

你可以使用 --output-document 選項(簡寫為 -O)將下載文件命名為任何你想要的名稱:

  1. $ wget http://example.com --output-document foo.html

斷點續傳

如果你正在下載一個超大文件,你可能會遇到中斷下載的情況。使用 --continue(簡寫為 -c),wget 可以確定從文件的哪個位置開始繼續下載。也就是說,下次你在下載一個 4 GB 的 Linux 發行版 ISO 時,如果出現了錯誤導致中斷,你不必重新從頭開始。

  1. $ wget --continue https://example.com/linux-distro.iso

下載一系列的文件

如果你要下載的不是單個大文件,而是一系列的文件,wget 也能提供很好的幫助。假如你知道要下載文件的路徑以及文件名的通用范式,你可以使用 Bash 語法指示一個數字范圍的起始和終點來表示這一系列文件名:

  1. $ wget http://example.com/file_{1..4}.webp

鏡像整個站點

使用 --mirror 選項你可以下載整個站點,包括它的目錄結構。這與使用選項 --recursive --level inf --timestamping --no-remove-listing 的效果是一樣的,該選項表明可以進行無限制的遞歸,得到你指定域下的所有內容。但你也可能會得到比預期多得多的內容,這取決于站點本身的老舊程度。

如果你正在使用 wget 來打包整個站點,選項 --no-cookies --page-requisites --convert-links 非常有用,它可以確保打包的站點是全新且完整的,站點副本或多或少是自包含的self-contained

修改 HTML 標頭

在計算機發送的通信報文里含有大量用于數據交換的元數據metadata。HTTP 標頭是初始數據的組成部分。當你瀏覽某個站點時,你的瀏覽器會發送 HTTP 請求標頭。使用 --debug 選項可以查看 wget 為每個請求發送了什么樣的標頭信息:

  1. $ wget --debug example.com
  2. ---request begin---
  3. GET / HTTP/1.1
  4. User-Agent: Wget/1.19.5 (linux-gnu)
  5. Accept: */*
  6. Accept-Encoding: identity
  7. Host: example.com
  8. Connection: Keep-Alive
  9.  
  10. ---request end---

你可以使用 --header 選項修改請求標頭。實際上經常使用這種方式來模仿某特定瀏覽器,來測試或兼容某些編碼糟糕、只能與特定代理通信的站點。

讓請求被識別為來自 Windows 系統的 Microsoft Edge:

  1. $ wget --debug --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59" http://example.com

你也可以假裝為某個移動設備:

  1. $ wget --debug --header="User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1" http://example.com

查看響應標頭

與瀏覽器發送請求標頭的方式一樣,響應也包含有標頭信息。你可以使用 --debug 選項來查看響應中的標頭信息:

  1. $ wget --debug example.com
  2. [...]
  3. ---response begin---
  4. HTTP/1.1 200 OK
  5. Accept-Ranges: bytes
  6. Age: 188102
  7. Cache-Control: max-age=604800
  8. Content-Type: text/html; charset=UTF-8
  9. Etag: "3147526947"
  10. Server: ECS (sab/574F)
  11. Vary: Accept-Encoding
  12. X-Cache: HIT
  13. Content-Length: 1256
  14.  
  15. ---response end---
  16. 200 OK
  17. Registered socket 3 for persistent reuse.
  18. URI content encoding = 'UTF-8'
  19. Length: 1256 (1.2K) [text/html]
  20. Saving to: 'index.html'

處理 301 響應

200 響應碼意味著一切都在預料之中。而 301 響應則表示 URL 已經被永久遷移到了另外一個地方。這是站點管理員的一種常用手段,內容遷移后,為訪問舊地址的用戶留下尋找新地址的“線索”。wget 會默認跟隨重定向redirect,這也是大部分情況下用戶所希望的。

當然,你可以使用 --max-redirect 選項,用于控制 wget 默認處理 301 響應重定向的次數。設置為 0 意味著不會自動重定向到新的地址:

  1. $ wget --max-redirect 0 http://iana.org
  2. --2021-09-21 11:01:35-- http://iana.org/
  3. Resolving iana.org... 192.0.43.8, 2001:500:88:200::8
  4. Connecting to iana.org|192.0.43.8|:80... connected.
  5. HTTP request sent, awaiting response... 301 Moved Permanently
  6. Location: https://www.iana.org/ [following]
  7. 0 redirections exceeded.

同時,你也可以設置為其他的數值來控制 wget 能重定向多少次。

展開 URL 縮寫

使用--max-redirect 選項用于在實際訪問之前查看 URL 縮寫shortened URL非常有用。縮寫 URL 可用于用戶無法完整拷貝和粘貼一個長 URL 時的印刷媒體print media,或是具有字數限制的社交網絡(在類似 Mastondon 這種現代開源的社交網絡上這并不是一個問題)。這種縮寫具有一定的風險,因為本質上這些目的地是隱藏的。組合使用 --head 選項和 --location 選項來來查看 HTTP 頭部并解開最終的目的地,你可以在不加載整個資源的情況下查看到縮寫 URL 的完整內容:

  1. $ wget --max-redirect 0 "https://bit.ly/2yDyS4T"
  2. --2021-09-21 11:32:04-- https://bit.ly/2yDyS4T
  3. Resolving bit.ly... 67.199.248.10, 67.199.248.11
  4. Connecting to bit.ly|67.199.248.10|:443... connected.
  5. HTTP request sent, awaiting response... 301 Moved Permanently
  6. Location: http://example.com/ [following]
  7. 0 redirections exceeded.

從 Location 開始的倒數第二行輸出,展示了實際的目的地。

使用 wget

若你開始考慮使用單個命令來實現整個網站訪問的過程,wget 可以快速高效的幫你獲取互聯網上的信息,而不用在圖形界面上耗費精力。為了幫你將它構造在你平常的工作流中,我們創建了一個 wget 常用使用方式和語法清單,包括使用它來查詢 API 的概述。在這里下載 Linux wget 速查表。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2015-11-30 17:12:31

Git使用技巧

2023-09-07 16:28:46

JavaScrip

2021-11-17 15:28:06

LinuxLinux命令

2023-05-30 09:59:38

2018-05-24 08:47:15

數據存儲技巧

2021-08-17 10:08:44

HTML網站網絡

2022-04-14 10:40:11

領導者IT團隊遠程團隊

2024-06-25 15:41:41

2011-03-02 09:34:58

AppFuse

2020-12-07 09:56:34

GitLinux版本控制系統

2023-11-06 18:06:00

Docker容器

2019-09-09 10:32:51

基于意圖的網絡IBN網絡

2023-12-21 18:01:58

Docker容器部署

2023-12-15 08:51:48

2021-03-02 10:54:08

高管IT投資首席信息官

2023-04-19 15:29:53

通信技巧Vue 3開發

2012-09-17 10:57:39

郵件安全

2022-08-26 08:00:00

數字時代IT首席信息官

2021-06-10 08:00:00

首席信息安全官IT數據

2021-12-17 10:29:38

CIOITCFO
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美www在线观看 | 日本国产精品视频 | 黄色片网站国产 | 久久久久久国产精品免费免费狐狸 | 国产成人久久精品一区二区三区 | 成年人在线观看 | 中文字幕视频在线观看 | 久久综合九九 | 日韩伦理一区二区 | 国产一区二区不卡 | 一区二区在线免费观看视频 | 欧美日韩亚洲视频 | 亚洲精品乱码久久久久久蜜桃 | 亚洲一区二区三区四区五区午夜 | 久久久精品网站 | 日韩a | 中文字幕在线一区二区三区 | 国产精品久久99 | 久久久久久久电影 | 欧美激情国产日韩精品一区18 | 精品久久久久久久久久 | 天天草天天操 | 久久久久久久久久久国产 | 亚洲v日韩v综合v精品v | 天天搞天天操 | 国产美女一区二区 | 黄色片视频网站 | 欧美极品少妇xxxxⅹ免费视频 | 欧美 日韩 国产 成人 | 91一区二区在线观看 | 亚洲视频三区 | 国产日韩精品在线 | 国产 日韩 欧美 在线 | 一级黄色片日本 | 91精品久久 | 亚洲一二三区不卡 | 精品一区二区久久 | 国产亚洲成av人片在线观看桃 | 亚洲大片 | 欧美激情精品久久久久久变态 | 免费毛片网|