Invoke-WebRequest 未下载正确的 exe 文件
Invoke-WebRequest not downloading proper exe file
使用 Powershell 4.0 版我正在尝试以编程方式下载 Firefox 浏览器:
$uri = "https://www.mozilla.org/en-US/firefox/new/?scene=2"
$out = "C:\Users\bhatsubh\Downloads\Firefox Setup Stub 48.0.2.exe"
Invoke-WebRequest -Uri $uri -OutFile $out
但它没有下载正确的文件。相反,该文件是错误的,大小为 65 KB。
当我在网络浏览器中复制粘贴 URL 时,下载会自动开始,并下载大小为 237 KB 的正确文件。
该站点使用 javascript 开始下载,因此您得到的错误文件实际上是 HTML 页面。查看其源代码,我们可以看到设置 "stub":
的实际 link
https://download.mozilla.org/?product=firefox-stub&os=win&lang=en-US
也可以下载完整的安装程序:
https://download.mozilla.org/?product=firefox-latest&os=win&lang=en-US
这是适合您的解决方案:
使用此命令:Invoke-WebRequest $URL -OutFile 'c:\local-name.exe'
问题出在您的 URL 上。您使用的 url 不是指向原始 exe 的确切文件。
因此,为了获得正确的 URL,请按照以下步骤操作
- 开始下载所需的 exe 并在 Chrome 浏览器中取消该下载
- 转到下载并右键单击并单击“复制 link 地址”并将该值设置为 $URL 变量并重试。这适用于大多数情况。
使用 Powershell 4.0 版我正在尝试以编程方式下载 Firefox 浏览器:
$uri = "https://www.mozilla.org/en-US/firefox/new/?scene=2"
$out = "C:\Users\bhatsubh\Downloads\Firefox Setup Stub 48.0.2.exe"
Invoke-WebRequest -Uri $uri -OutFile $out
但它没有下载正确的文件。相反,该文件是错误的,大小为 65 KB。
当我在网络浏览器中复制粘贴 URL 时,下载会自动开始,并下载大小为 237 KB 的正确文件。
该站点使用 javascript 开始下载,因此您得到的错误文件实际上是 HTML 页面。查看其源代码,我们可以看到设置 "stub":
的实际 linkhttps://download.mozilla.org/?product=firefox-stub&os=win&lang=en-US
也可以下载完整的安装程序:
https://download.mozilla.org/?product=firefox-latest&os=win&lang=en-US
这是适合您的解决方案:
使用此命令:Invoke-WebRequest $URL -OutFile 'c:\local-name.exe' 问题出在您的 URL 上。您使用的 url 不是指向原始 exe 的确切文件。 因此,为了获得正确的 URL,请按照以下步骤操作
- 开始下载所需的 exe 并在 Chrome 浏览器中取消该下载
- 转到下载并右键单击并单击“复制 link 地址”并将该值设置为 $URL 变量并重试。这适用于大多数情况。