【发布时间】:2010-10-06 11:06:47
【问题描述】:
如果我从命令行使用 wget 而不指定显式用户代理,我想知道传递了什么默认用户代理。
我有一些代码可以根据用户代理更改输出。
wget http://www.google.com -O test.html
【问题讨论】:
-
在您的代码中,当您做出 if 选择时打印出用户代理以查看值
标签: wget user-agent
如果我从命令行使用 wget 而不指定显式用户代理,我想知道传递了什么默认用户代理。
我有一些代码可以根据用户代理更改输出。
wget http://www.google.com -O test.html
【问题讨论】:
标签: wget user-agent
"wget -d" 将显示对服务器的请求。
$ wget -d http://www.google.com -O/dev/null 2>&1 |grep ^User-Agent
User-Agent: Wget/1.13.4 (linux-gnu)
User-Agent: Wget/1.13.4 (linux-gnu)
User-Agent: Wget/1.13.4 (linux-gnu)
【讨论】:
在您的 shell 提示符下,执行:
> man wget
向下滚动到-U agent-string,其中指出:
“Wget 通常标识为 Wget/version,version 是 Wget 的当前版本号”。
这样做:
> wget --version
这将为您提供版本,从而为您提供用户代理。
顺便说一句,您可能会发现某些网站会阻止 wget,因此根据您的操作,您可能需要更改此设置。
【讨论】:
在我的 Fedora 13 系统上,它显示 Wget/1.12 (linux-gnu)
【讨论】:
运行 wget 并嗅探通信。
您还可以查看网络服务器的日志,通常它包含连接客户端的用户代理。
这是我从最新的 windows wget 得到的:Wget/1.11.4
【讨论】:
您可以使用 Wireshark 等网络协议分析器来验证这一点。 使用 Wireshark,您可以检查所涉及的整个协议栈的标头和所有其他细节。
Wireshark 既免费又开源:http://www.wireshark.org/
【讨论】: