如何使用 netcat 提供 mht 文件



由于chrome(https://code.google.com/p/chromium/issues/detail?id=439832)中的错误,我想通过netcat提供文件,而不是直接加载它。但是,当我尝试简单地执行nc -l -p 8000 < /tmp/file.mhtml并在Chrome中加载http://localhost:8000时,我得到了文件的文本,而不是将其呈现为HTML。该文件有一个内容类型标头,因此我希望它得到提供:

From: <Saved by WebKit>
Subject: Foo Bar
Date: Fri, 22 Jan 2015 06:44:35 -0000
MIME-Version: 1.0
Content-Type: multipart/related;
    type="text/html";
    boundary="----=_NextPart_000_0B03_4EE56298.243AD9A7"
------=_NextPart_000_0B03_4EE56298.243AD9A7
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
Content-Location: https://example.com/foo/bar?q=4

使用 netcat 您可以直接通过 TCP 通过 netcat 而不是通过 HTTP 提供 MHT 文件。Chrome不知道如何处理这个问题,因为它似乎不支持MHTML。

您可以添加有效的 HTTP 响应:

while [ $? == 0 ]; do nc -l -p 8000 -e 'printf "HTTP/1.1 200 OKnn"; cat /tmp/file.mhtml'; done

最新更新