1

在我的终端中:

url='http://58.30.207.171/youku/69764FC8BC2447992487A2488/030002010051001478A6FA0109ACBF22B0F614-2746-1AE5-C9EF-2266A1CC83DB.flv'
curl $url -o test1.flv #can download
wget -c $url -O test2.flv #can not download

1.为什么wget不能下载?
2.我怎样才能wget下载它?

4

1 回答 1

0

该站点可能专门阻止 wget。您可以通过将用户代理设置为空字符串来覆盖它:我在http://www.gnu.org/software/wget/manual/wget.html#Option-Syntax

'-U agent-string' '--user-agent=agent-string' 标识为 http 服务器的代理字符串。http 协议允许客户端使用 User-Agent 标头字段来标识自己。这可以区分 www 软件,通常用于统计目的或跟踪协议违规。Wget 通常标识为“Wget/version”,version 是 Wget 的当前版本号。

但是,众所周知,某些站点会根据用户代理提供的信息实施定制输出的策略。虽然这在理论上并不是一个坏主意,但它已被服务器滥用,拒绝向(历史上)Netscape 或更常见的 Microsoft Internet Explorer 以外的客户端提供信息。此选项允许您更改 Wget 发出的 User-Agent 行。不鼓励使用此选项,除非您真的知道自己在做什么。

使用 '--user-agent=""' 指定空用户代理会指示 Wget 不要在 http 请求中发送 User-Agent 标头。

于 2013-01-24T04:24:31.323 回答