如何使用netcat提供mht文件?

时间:2015-01-22 08:04:12

标签: google-chrome netcat mhtml

由于chrome(https://code.google.com/p/chromium/issues/detail?id=439832)中的错误,我想通过netcat提供文件而不是直接加载它。但是,当我尝试在Chrome中执行nc -l -p 8000 < /tmp/file.mhtml并加载http://localhost:8000时,我会获得该文件的文本,而不是将其呈现为HTML。该文件有一个Content-Type标题,所以我希望它可以提供:

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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