Firefox、Chrome 和 Edge 中的下载被阻止。“无法下载 - 网络问题”

Firefox、Chrome 和 Edge 中的下载被阻止。“无法下载 - 网络问题”

我在 Windows 10 上遇到了一个问题,即无法在 Firefox、Chrome 或 Edge 中下载某种类型的 URL。这些 URL 看起来像“http://localhost:8080/6/58/37.pbf”。

使用 Curl(在 Ubuntu 上通过 WSL),我可以验证文件是否下载正常,并且具有我期望的确切内容:

curl -o test http://localhost:8080/6/58/37.pbf

使用三种主流浏览器中的任何一种都会失败。

Firefox 报告(在弹出窗口中):

无法保存 C:\Users\steva\AppData\Local\Temp\m_YbgUKn.pbf.part,因为无法读取源文件。

请稍后重试,或联系服务器管理员。

Chrome(在状态栏中):

失败 - 网络错误

Edge(在下载列表中):

无法下载 - 网络问题

真正奇怪的是,浏览器当网站通过获取请求(XHR)访问数据时,可以正常访问此 URI。

我猜是某种安全设置阻止了我下载这个所谓的“有害”文件。这是一个非常普通的 Windows 10 安装。我没有添加任何第三方防病毒软件。我为 Chrome 和 Firefox 添加了各种扩展程序,但没有为 Edge 添加。

也可能是数据源上的 gzip 编码设置不正确。当我尝试使用 Powershell 上的 curl 下载文件时(我不太熟悉),我得到了:

curl -UseBasicParsing http://localhost:8080/6/58/37.pbf
curl : The magic number in GZip header is not correct. Make sure you are passing in a GZip stream.
At line:1 char:1
+ curl -UseBasicParsing http://localhost:8080/6/58/37.pbf
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-WebRequest], InvalidDataException
    + FullyQualifiedErrorId : System.IO.InvalidDataException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

标头如下(在 Ubuntu WSL 中报告):

$ curl -I 'http://localhost:8080/6/58/37.pbf'
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
last-modified: Tue, 23 Nov 2021 07:07:24 GMT
etag: 5013110784-1637651244373
content-md5: bgkG68uoqKJm7TRrjnPfzg==
content-type: application/x-protobuf
content-encoding: gzip
Content-Length: 16743
X-Response-Time: 1.063ms
Date: Wed, 24 Nov 2021 05:52:11 GMT
Connection: keep-alive
Keep-Alive: timeout=5

答案1

Chrome 和 Edge 可能不允许下载,因为您使用的是 http。去年 (2020) 在此 Chromium 博客上宣布了这一消息 -保护用户免受 Google Chrome 中不安全下载的影响那:

今天我们宣布 Chrome 将逐步确保安全 (HTTPS) 页面仅下载安全文件。按照下面概述的一系列步骤,我们将开始阻止“混合内容下载”(在安全页面上启动的非 HTTPS 下载)。此举遵循了我们去年宣布的一项计划,即开始阻止安全页面上的所有不安全子资源。

不安全下载的文件会对用户的安全和隐私造成风险。例如,不安全下载的程序可能会被攻击者替换为恶意软件,而窃听者可能会读取用户不安全下载的银行对账单。为了解决这些风险,我们计划最终取消对 Chrome 中不安全下载的支持。

尝试使用 https。

相关内容