failafe wget html脚本? (当用户使用〜\ .wgetrc时)

时间:2016-09-26 18:19:58

标签: linux bash wget

我刚遇到一个问题。这是关于他用来检查adobe.com上最新的Adobeflash版本的alienbob脚本之一的代码片段:

# Determine the latest version by checking the web page:
VERSION=${VERSION:-"$(wget -O - http://www.adobe.com/software/flash/about/ 2>/dev/null | sed -n "/Firefox - NPAPI/{N;p}" | tr -d ' '| tail -1 | tr '<>' '  ' | cut -f3 -d ' ')"}
echo "Latest version = "$VERSION

这段代码本身通常像魅力一样,但不适合我。我使用自定义~\.wgetrc,因为我遇到了一些不允许wget甚至单个下载的页面的问题。通常我不会在任何网站上进行大量下载,除非网站允许这样的内容,或者我在我的wget脚本中设置了一个合理的暂停。

现在,除其他事项外,~\.wgetrc设置会将我的wget屏蔽为Windows Firefox,并且还包括以下行:

header = Accept-Encoding: gzip,deflate

这意味着,当我使用wget下载html文件时,它会将该文件作为gipped html下载。

现在我想知道,还有一个诀窍仍然是让像个外星人一样的脚本在这样的用户设置上工作,或者是否用户弄乱了他自己的系统并且必须弄清楚脚本出现故障的原因?

(在我的情况下,我可以删除header = Accept-Encoding行,并且一切正常,因为在使用wget时,通常不希望html文件被gzip压缩)

1 个答案:

答案 0 :(得分:0)

使用

$time1 = New-TimeSpan -Minutes 30
$logs = Get-WinEvent -ListLog * | Where-Object {$_.RecordCount} | 
Select-Object -ExpandProperty LogName
Get-WinEvent -FilterHashtable @{LogName=$logs; Level=1,2,3; StartTime=(Get-Date)-$time1}
| out-file c:\temp\test1.txt

因为标题选项优先于同名的.wgetrc选项。

也许目标页面已经过重新设计,这是现在适合我的wget部分:

wget --header=Accept-Encoding:identity -O - ....