如何在终端中运行HTML文件?

35

我有一个标题为test.html的HTML文件,以下是该文件的内容:

<!DOCTYPE html>
<html>
<body onload="document.getElementById('saveForm').click();">
<form method="post" enctype="multipart-form-data" name="my_form" onsubmit="clearTextBoxCounter()" action="http://xxxxx" >

  <input type=hidden name=teks value=><center><b>KIRIM SMS GRATIS</b></center><br><br>
Nomer HP:<br />
  <input class="field text small" type="text" maxlength="20" name="Phonenumbers" value="085642383165"/>
  <br />

<br />
Isi Pesan:<br />
  <textarea rows="5" cols="20" onKeyPress=check_length(this.form); onKeyDown=check_length(this.form); name=Text >testing pesan 2</textarea>
<br />

<input id="saveForm" class="btTxt" type="submit" value="KIRIM" name="TOMBOL" />

</body>
</html>

当文件加载时,可以看到它会自动点击提交按钮,并将其重定向到http://xxxxxx。我该如何在终端中运行此HTML文件?我正在使用安装了Web服务器的OpenWrt。


不熟悉OpenWrt,它没有lynx(命令行浏览器)吗? - mihai
3
开始研究无头浏览器。为您选择一款浏览器并带您安装超出本站范围。请理解。 - user229044
此外,您可能不想这样做。您应该向我们描述您的实际问题,因为编写一个完整的HTML文档并嵌入JavaScript以自动提交表单,仅为了从命令行程序化地发出POST请求,是解决该问题的最糟糕的方法。可能有一行CURL命令可以为您完成此操作。 - user229044
9个回答

63
对于像我这样的人,他们通过Linux终端想要提供一个HTML文件或者使用终端命令查看它的人,请按照以下步骤操作:
1. 如果你想要使用浏览器查看你的HTML文件: - 导航到包含HTML文件的目录 - 如果你已经安装了Chrome,
使用
google-chrome <filename>.html

或使用
firefox <filename>.html

如果你想提供HTML文件并在浏览器中查看它, 请导航到包含HTML文件的目录, 然后在终端上简单地输入以下内容:
pushd <filename>.html;  python3 -m http.server 9999; popd;

然后点击I.P.地址0.0.0.0:9999或localhost:9999(无论在执行上述命令后得到的结果是什么)。或者在终端上输入:-
firefox 0.0.0.0:9999

使用第二种方法,与同一网络连接的其他人也可以通过使用URL:0.0.0.0:9999查看您的文件。

1
这是我认为最快捷的方式,以获得我想要的内容。 - desmond13
如果其他网络用户导航到 <your-machine-ip>:9999,则可以访问该网页。IPv4地址 0.0.0.0INADDR_ANY 的占位符,如 此管理页面 所示。它的含义大致是:“让服务器在机器上的每个接口上监听”。您可以通过在 Linux 机器上发出 ip addr 命令,在 BSD 系统(如 macOS)上使用 ifconfig -a 命令或在 Windows 系统上使用 ifconfig /all 命令来获取您机器的 IPv4 地址。 - Collado
1
在这个上下文中,&lt 的目的是什么?有人可以解释一下吗? - AMS
@AMS代表小于符号。它的含义是<filename>.html。 - Prav

30

这个有效:

browsername <filename>

示例:google-chrome index.html

在此输入图片描述


19

您可以始终使用基于终端的Lynx网页浏览器,通过运行$ sudo apt-get install lynx进行获取。

使用Lynx,我相信可以使用lynx <filename>来查看文件。


4
Lynx无法执行JavaScript。 - Quentin

3
跳过阅读HTML,使用curl将您想要提交到服务器的任何表单数据进行POST。

3

可以使用lynx或links从终端查看html文件。但是,这些浏览器都不支持onload JavaScript功能。如果使用lynx或links,您将需要主动单击提交按钮。


2
我认为你想要的只是这样。
打开终端
导航到包含HTML文件的目录
然后只需键入:浏览(您的文件名),当然不需要括号。
这将在Firefox浏览器中运行您的HTML文件。
"最初的回答"

-2

你可以通过Web服务器使文件可访问,然后可以使用curl或lynx。


1
为什么不只在客户端上做呢?-_- - Gilles Quénot
会是一长串的Curl代码。而Web服务器则更简单易于调试。 - RoboTamer

-3

我们可以通过使用Firefox .html在Linux/Unix上打开HTML文件。


-4

python -mhtmllib test.html 或者 curl http://www.comanyname.com/somepage.html|python -mhtmllib -


3
添加一些解释 - HaveNoDisplayName
请添加更多信息。不建议仅提供代码或“尝试此代码”等答案,因为它们不包含可搜索的内容,并且没有解释为什么某人应该“尝试此代码”。 - abarisone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接