【发布时间】:2020-08-26 05:43:52
【问题描述】:
我目前在本地计算机上托管有关 Ghost CMS 的博客,并使用 wget 从 localhost:2368 的托管站点创建一个静态站点。它运作良好,但我面临的唯一问题是“srcset”被搞砸了
<img class="post-card-image" srcset="content/images/size/w300/2020/08/logo-1--1.svg 300w,
content/images/size/w600/2020/08/logo-1--1.svgg 600w,
content/images/size/w1000/2020/08/logo-1--1.svgvg 1000w,
content/images/size/w2000/2020/08/logo-1--1.svgsvg 2000w" sizes="(max-width: 1000px) 400px, 700px" loading="lazy" src="content/images/size/w600/2020/08/logo-1--1.svg" alt="Test">
请注意 600w、100w 和 2000w 的扩展是如何弄乱的 svgg、svgvg、svgsvg。这可以防止加载图像。我需要手动修复 HTML 中的扩展。
在 localhost:2368 使用浏览器保存 HTML 没有这样的问题。 使用浏览器保存 HTML 时的相同元素
<img class="post-card-image" srcset="/content/images/size/w300/2020/08/logo-1--1.svg 300w,
/content/images/size/w600/2020/08/logo-1--1.svg 600w,
/content/images/size/w1000/2020/08/logo-1--1.svg 1000w,
/content/images/size/w2000/2020/08/logo-1--1.svg 2000w" sizes="(max-width: 1000px) 400px, 700px" loading="lazy" src="/content/images/size/w600/2020/08/logo-1--1.svg" alt="Test">
但这不是一个选项,因为我必须手动递归保存所有内容。
我使用的 wget 命令是
from_url=localhost:2368
to_url=example.com
to_https=true
export_directory=dist
# Copy blog content
wget --recursive --page-requisites --no-host-directories --remote-encoding=utf-8 --directory-prefix=${export_directory} --adjust-extension --restrict-file-names=windows --timeout=30 --no-parent --convert-links ${from_url}/
使用 wget 1.20.3 我已经尝试过没有 --remote-encoding 标志
【问题讨论】:
-
这很奇怪。你能在浏览器中查看开发者选项(通常是 F12),然后用
wget构造相同的请求吗?你也可以试试curl吗? Wireshark 告诉你什么?我猜在某些情况下可能是 httpd 发送了损坏的响应? -
这可能是 Wget 中的一个错误。我有预感,是的。请在 bug-wget@gnu.org 上报告此问题,我们会尽力帮助您。可能是缓冲区大小损坏。
-
在此期间 - CURL 如何处理这些?
标签: linux web wget ghost-blog