如何保存一个;“浏览器启动下载”;是否使用Powershell System.Net.WebClient和自定义用户代理字符串创建文件? 我在AWS EC2 USEDATA部分运行了一些命令,当启动EC2实例时,它想在启动时从微软(Visual C++ + VisualStudio 2013可重新分配的包)下载文件。
到目前为止,我有以下命令:如何保存一个;“浏览器启动下载”;是否使用Powershell System.Net.WebClient和自定义用户代理字符串创建文件? 我在AWS EC2 USEDATA部分运行了一些命令,当启动EC2实例时,它想在启动时从微软(Visual C++ + VisualStudio 2013可重新分配的包)下载文件。,powershell,amazon-web-services,amazon-ec2,scripting,Powershell,Amazon Web Services,Amazon Ec2,Scripting,到目前为止,我有以下命令: powershell -Command "$cli = New-Object System.Net.WebClient;$cli.Headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36';$cli.DownloadFile('https://www.microsoft.
powershell -Command "$cli = New-Object
System.Net.WebClient;$cli.Headers['User-Agent'] = 'Mozilla/5.0 (Windows NT
6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0
Safari/537.36';$cli.DownloadFile('https://www.microsoft.com/en-
us/download/confirmation.aspx?id=40784', 'C:\UserData\vcredist_arm.exe')"
它使用的是Powershell System.Net.WebClient方法,但它似乎是在下载HTML页面,而不是在您首先浏览页面时下载的可执行文件,然后浏览器会询问您要将文件保存在何处
如何使用Powershell下载实际的可执行文件而不是位于的页面?您提供的URL是HTTP页面,因此您下载的是该页面而不是exe。为了解决这个问题,你必须获得一个到你想要下载的文件的直接链接,通常页面会为你处理这个问题,但是C#webclient没有编码来实现这一点 在这种情况下,您可以通过以下方式获得directdownload链接:
单击此处
中的链接如果您的下载在30秒后仍未开始,请单击此处
单击此处
下载链接复制到要下载的产品,在本例中为https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_arm.exe
https://www.microsoft.com/en-
us/download/confirmation.aspx?id=40784
用于webclient对象