在wget中使用自定义HTTP头信息

wget是一个Linux命令行工具,用于通过HTTP、HTTPS和FTP协议从网上检索文件。当你使用wget在一个特定的HTTP网址上下载一个文件时,wget会向目标网络服务器发送一个适当的HTTP请求。

要查看wget发送的默认HTTP请求头,你可以使用-d选项。

wget -d http://www.google.com/

---request begin---
GET / HTTP/1.0
User-Agent: Wget/1.12 (linux-gnu)
Accept: */*
Host: www.google.com
Connection: Keep-Alive

---request end---

有时你可能想定制wget使用的默认HTTP请求头。例如,你可能想自定义"User-Agent"字段,因为有些网站依靠"User-Agent"字符串来阻止像wget这样的机器人检索它们的内容。你可能想添加一个额外的 "Accept-Encoding"字段,以便测试你的网络服务器的编码方案。在其他一些情况下,你可能需要正确设置 "Host"字段,以便能够访问基于名称的虚拟主机上运行的网络服务器。

wget允许你发送一个带有自定义HTTP头的HTTP请求。要提供自定义的HTTP头,请使用--header选项。你可以在一次运行中使用"--header"选项,次数不限。

wget -d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11" --header="Referer: https://codeclips.cc/" --header="Accept-Encoding: compress, gzip" http://www.google.com/

---request begin---
GET / HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
Accept: */*
Host: www.google.com
Connection: Keep-Alive
Referer: https://codeclips.cc/
Accept-Encoding: compress, gzip

---request end---

如果你想永久地设置你想在wget中使用的默认HTTP请求头,你可以使用~/.wgetrc配置文件。你可以在~/.wgetrc中指定你想要的头域,数量不限。

header = User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
header = Referer: https://codeclips.cc/
header = Accept-Encoding: compress, gzip

一旦你配置了~/.wgetrc,你就不再需要使用wget的--header选项。

curl是另一个命令行工具,其功能与wget类似。curl工具也允许你设置自定义的HTTP头。

参考:在wget中使用自定义HTTP头信息

posted @ 2022-05-11 16:14  MkDocsMan  阅读(3757)  评论(0编辑  收藏  举报