Invoke-WebRequest从浏览器生成不同的结果

时间:2014-10-06 01:42:19

标签: powershell

我正在编写一个脚本来将Java更新到最新版本。为了能够找到最新版本,我使用以下命令查找所有可下载文件:

(Invoke-WebRequest –Uri 'http://www.java.com/en/download/manual.jsp').links

它给了我一个http://javadl.sun.com/webapps/download/AutoDL?BundleId=95123的链接。这链接到32位版本,但我找不到64位版本的链接。  但是如果我在Web浏览器中打开页面,我会得到不同的结果,因为现在我可以找到64位版本的链接(http://javadl.sun.com/webapps/download/AutoDL?BundleId=95125)。

为什么脚本会给我一个与Web浏览器不同的结果?

1 个答案:

答案 0 :(得分:1)

我认为服务器端正在调查UserAgent信息。 请尝试这种方式:

(Invoke-WebRequest -Uri 'http://www.java.com/en/download/manual.jsp' -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36").links