【发布时间】:2023-04-08 05:23:01
【问题描述】:
好的,我之前问了一个关于使用的问题
webclient.downloadfile($url,$path)
我无法打开 PDF 文件,因为它的编码不正确。
我现在知道的是,这是因为该网站只允许使用Internet Explorer。因此,我从未真正下载过 PDF,而是下载了 HTML 页面……作为 PDF。因此错误。对于该网站,当使用任何其他网站时,会弹出一个页面让您知道。我用的时候发现:
$webclient.downloadstring($url)
..并阅读Powershell ISE中的几行,遇到同一句话:
“检测到不兼容的浏览器。必须使用 IE 7.0 及更高版本”
好的。所以我做了一些研究并了解了这个 .AddHeader() 函数。我使用了以下内容。
$wc.Headers.Add("user-agent", "Windows-RSS-Platform/2.0 (MSIE 9.0; Windows NT 6.1)")
实际上在这个网站上。我认为这会诱使网站认为我正在使用Internet Explorer 9.0。我输入$webclient 以查看我的Net.webclient 对象的所有属性并阅读
Headers: {user-agent}
我说的很好。现在它将起作用。但后来我尝试了我的.downloadfile 函数,同样的事情发生了。
运行我的downloadfile 后,我再次检查了$webclient 的属性和Headers= {} 我的user-agent 发生了什么?谁能告诉我为什么会发生这种情况或提供任何提示以使其正常工作?
【问题讨论】:
-
如果您包含一些代码来重现您遇到的问题(概念证明),这也会有所帮助。
标签: powershell user-agent webclient