Wget 错误 bash Windows 子系统 for Linux

Wget 错误 bash Windows 子系统 for Linux

尝试使用 wget 下载时在 WSL 中收到错误

 wget -O quotefile.txt "https://www.google.com"

输出

Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/home/atul/.wget-hsts'. HSTS will be disabled.
--2020-04-08 12:47:43--  https://www.google.com/
Resolving www.google.com (www.google.com)... 2404:6800:4002:80f::2004, 172.217.166.196
Connecting to www.google.com (www.google.com)|2404:6800:4002:80f::2004|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘quotefile.txt’

quotefile.txt                     [ <=>                                              ]  14.68K  --.-KB/s    in 0.002s

2020-04-08 12:47:45 (6.43 MB/s) - ‘quotefile.txt’ saved [15029]

为什么我会收到此错误

Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/home/atul/.wget-hsts'. HSTS will be disabled.

以及如何解决这个问题?

全新重新安装后我遇到了这个问题。之前我使用的是 Windows 10 Pro 版本 19035,但现在我使用的是 Windows 10 Pro 版本 1909。

答案1

HSTS 是 HTTPS 上的一项可选安全措施。由于 HTTPS 连接本身可以正常工作,并且文件已下载,因此这似乎是一个警告而不是错误。因此我看到了三个选项:

  1. 使用 wget 选项在每次调用时禁用 HSTS--no-hsts
  2. 尝试创建一个/home/atul/.wget-hsts具有适当权限的文件,并尝试 wget 是否使用该文件
  3. 忽略此警告

答案2

我自己也遇到了这个问题,在我的例子中,文件.wget-hsts是组和世界可写的。我刚刚将其限制为用户可写,错误就消失了:

-rw-rw-rw-  1 matthias matthias  165 Mar 13 13:57 .wget-hsts

-rw-r--r--  1 matthias matthias  165 Mar 13 13:57 .wget-hsts

相关内容