如何解决错误:-安装Java
我正在尝试在打包程序实例上使用powershell Invoke-WebRequest命令安装Java,但是,我得到的错误低于此值;
Cannot index into a null array.
At line:1 char:94
+ ... content | %{[regex]::matches($_,'(?:<a title="Download Java software ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [],RuntimeException
+ FullyQualifiedErrorId : NullArray
命令;
[Net.ServicePointManager]::SecurityProtocol = "tls12"
$URL = (Invoke-WebRequest -UseBasicParsing https://www.java.com/en/download/manual.jsp).Content | %{[regex]::matches($_,'(?:<a title="Download Java software for Windows .64-bit." href=")(.*)(?:">)').Groups[1].Value}
Invoke-WebRequest -UseBasicParsing -OutFile jre8.exe $URL
Start-Process .\jre8.exe '/s REBOOT=0 SPONSORS=0 AUTO_UPDATE=0' -wait
几周前,我能够成功运行它,但是从昨天开始,出现了上述错误。 有什么建议吗?
谢谢。
解决方法
发生这种情况是因为网页上没有诸如Download Java software for Windows
之类的字符串。由于正则表达式不匹配任何内容,因此Groups
成员不存在,并且在尝试索引到不存在的成员时会出现错误。
要么使用网络浏览器的“查看源代码”命令,要么将内容保存在文本文件中,然后使用记事本查看它,
$cc = (Invoke-WebRequest -UseBasicParsing https://www.java.com/en/download/manual.jsp).Content
Set-Content -Path c:\temp\javapage.txt -Value $cc
notepad c:\temp\javapage.txt
该页面加载了一堆Javascript,可生成在浏览器中看到的实际页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。