Powershell 使用Invoke-WebRequest下载Symantec更新包 5


一朋友苦于Symantec的更新包链接总是动态生成,没有规律可循,例如:“http://definitions.symantec.com/defs/2014xxxx-xxx-xxxxx.exe“此朋友因困于无法得到准确的链接,而无法使用脚本自动下载该更新包。

我们发现在Powershell 3.0以上的版本中可以使用Invoke-WebRequest获取其网页的HTML源码,获取的值其类型为一段约60000多长度的字符串。于是想到利用正则表达式中Matches 提取其中相关值,尝试以下代码:

$webreq = Invoke-WebRequest 
http://www.symantec.com/security_response/definitions/download/detail.jsp?gid=savce
$HTMLstring = $webreq.Content
[regex]::Matches("$HTMLstring",'http://definitions.symantec.com/defs/.{0,20}\.exe')|%{$_.value}

得到输出结果:

http://definitions.symantec.com/defs/20140124-016-v5i32.exe
http://definitions.symantec.com/defs/20140124-016-v5i64.exe
http://definitions.symantec.com/defs/20140124-004-i32.exe
http://definitions.symantec.com/defs/20140124-004-i64.exe

到这一步,我们已经把问题的解决核心思路阐述完毕了,后面的代码就非常好处理,这里就不在阐述了。

本文链接: https://www.pstips.net/invoke-webrequest-down.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

回复 小楼 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

5 条评论 “Powershell 使用Invoke-WebRequest下载Symantec更新包