Webclient.DownloadFile().aspx文件无法打开(Webclient.Down

2019-09-24 08:07发布

我使用PowerShell首次。 我已经学会了如何使用Web客户端,使用下面的代码来下载文件。

$client = New-Object System.NET.Webclient
$client.DownloadFile( $url, $path )

这似乎很好地为我所试图做的,最终,这是一次从网页下载多个文件。 我想这在网站上,有其格式化为.pfva文件,这些文件被打开的PDF文件。 没问题。 这是受保护的网站太密码。

所以移动到其实我是想用它在网站上。 同样,一个网站需要一个日志,虽然我只需登录我的浏览器,然后运行Web客户端。 也许就是为什么我从来没有在命令脚本通过认证....

这个站点的文件格式为.aspx文件。 他们是被打开的PDF文件。 我可以简单地点击该文件,保存或打开,和它的作品自然为PDF文件。 但是,当我使用webclient.download文件,将其下载到合适的地方......但我在尝试打开它时出错。

为“Adobe无法打开的文件。这是不正确编码” ......类似的规定。 我不能得到消息了,因为现在我在工作。 对于下载的网址是按以下格式.....

https://www.WebsiteABC.com/ShowDocument.aspx?DocPath=%7e%5cDocument%5cb75c6093-697a-4e59-bc26-fa2eb24f57f7%5cAUTHORIZATION.PDF

为什么不打开它!?! 有没有解决的办法。 任何帮助,将不胜感激。 谢谢!。

OH顺便说一句,我设置了$路径.PDF文件在我的电脑上的目录...因为我看书上说应提供的文件的路径,而不是只是一个目录。

Answer 1:

看起来你的脚本在大多数情况下工作。

我发现这个页面,告诉用户代理HTTP报头字段可以为服务器很重要,所以试试这个:

$userAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2;)"
$url = "https://www.adobe.com/enterprise/pdfs/pdfarchiving.pdf"
$path = "c:\test.pdf"

$client = New-Object System.NET.Webclient
$client.Headers.Add("user-agent", $userAgent)
$client.DownloadFile( $url, $path )


文章来源: Webclient.DownloadFile() .aspx file won't open