使用PowerShell下载7Z格式Notepad++文件遇连接中断错误求助
解决Invoke-WebRequest连接中断的问题
嘿,我来帮你排查这个连接中断的问题,主要有几个明确的原因,咱们一个个来解决:
首先,你的URL拼写错误!仔细看:你把地址里的notepad-plus-plus写成了notepad-plus-plsu(把plus误写成了plsu),这会让请求指向一个不存在的页面,GitHub自然会中断你的连接。先把URL修正为正确的:https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.1.4/npp8.1.4.portable.7z
另外,还有两个常见的坑,也可能导致这个错误:
TLS版本不兼容:旧版PowerShell(比如5.1及更早)默认使用TLS 1.0/1.1,而GitHub早就不再支持这些老旧的加密协议,直接就会掐断连接。你可以先运行这条命令开启TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12之后再重新执行下载命令。
网络环境限制:如果公司或学校的防火墙、代理服务器拦截了GitHub的请求,或者你的网络不稳定,也会触发这个错误。你可以先在浏览器里打开正确的URL试试能不能下载,如果浏览器也不行,那就是网络环境的问题,得检查代理设置或者联系管理员。
最后提个小细节:你把输出文件命名成了package.zip,但实际下载的是7z格式,虽然不影响下载,但之后解压容易搞混,建议改成package.7z更规范。
修正后的完整命令应该是这样:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-WebRequest https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.1.4/npp8.1.4.portable.7z -OutFile package.7z
如果还是不行,试试用Start-BitsTransfer替代,这个命令专门用来下载文件,稳定性比Invoke-WebRequest好很多:
Start-BitsTransfer -Source "https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.1.4/npp8.1.4.portable.7z" -Destination "package.7z"
内容的提问来源于stack exchange,提问作者Wodds




