gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:35:53 24 4
gpt4 key购买 nike

我是第一次使用 powershell。我已经学习了如何使用网络客户端下载文件,使用以下代码。

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

这似乎很适合我最终尝试做的事情,即一次从网页下载多个文件。我在一个网站上试过这个,该网站的文件格式为 .pfva 文件,以 PDF 格式打开。没问题。这也是一个受密码保护的网站。

所以转到我真正想使用它的网站。同样,一个需要登录的站点,尽管我只是在我的浏览器上登录然后运行 ​​webclient。可能是为什么我永远不必在命令脚本中通过身份验证....

本网站的文件格式为 .aspx 文件。它们将作为 PDF 文件打开。我只需单击文件、保存或打开它,它就可以自然地作为 PDF 文件工作。但是当我使用 webclient.download 文件时,它会下载到正确的位置...但是我在尝试打开它时遇到错误。

“Adobe 无法打开文件。它的编码不正确”......类似这些。我现在无法收到消息,因为我在工作。下载的 URL 格式如下......

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

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

顺便说一句,我将 $path 设置为计算机目录中的 .PDF 文件...因为我读到应该提供文件路径,而不仅仅是目录。

最佳答案

看起来您的脚本在大多数情况下都有效。

我找到了 this页面,告诉用户代理 HTTP header 字段对服务器很重要,所以试试这个:

$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 )

关于powershell - Webclient.DownloadFile() .aspx 文件无法打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com