【问题标题】:Running HTML file in localhost:8080在 localhost:8080 中运行 HTML 文件
【发布时间】:2019-08-07 08:57:00
【问题描述】:

我想在 localhost:8080 中运行一个 HTML 文件,我正在使用命令:

python3 -m http.server

问题是当我尝试打开 localhost:8080 时,它会下载 HTML 文件而不是显示它。

【问题讨论】:

  • 请添加更多详细信息/代码文件。
  • 没有代码,我们无法真正帮助您,但我认为您的服务器可能使用了错误的 Content-Type,它会下载 HTML 而不是显示它。

标签: python html python-3.x localhost


【解决方案1】:

问题是当我尝试打开 localhost:8080 时,它会下载 HTML 文件而不是显示它。

您想改为打开http://localhost:8000

当您使用您提到的命令python3 -m http.server 时,它默认为端口 8000,如其启动输出中所述:

$ python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

我们不知道您在端口 8080 上运行了哪些不同的服务器,但显然它没有将 Content-type: text/html 放在其输出标头中。

查看网络服务器 http 标头

查看这些标题很容易,例如与wget 一起使用-S 开关。

【讨论】:

    【解决方案2】:

    您需要添加一个选项,将您的网站置于端口8080,因为http.server 命令默认为端口8000

    您可以这样做:

    python3 -m http.server 8080
    

    然后,当您转到 0.0.0.0:8080 时,它应该会显示您的网页,而不是下载提示。

    另外,您可能有另一个http.server 实例在端口8080 上运行。

    您可以使用以下方法找到此任务的 PID:

    ps -A | grep "python3"
    

    应该显示如下内容:

    然后您可以使用以下方法杀死它:

    kill <PID-FOR-PYTHON3-INSTANCE>
    

    或者在我的情况下,在端口 8080 上运行的任务是:

    kill 6856
    

    或者,如果您不介意,只需使用以下命令终止所有 Python3 任务:

    killall python3
    

    在我的情况下,这会杀死两个 Python3 任务。

    警告:在运行killall 命令之前要非常、非常小心,因为此命令不会保存您的工作

    更新:图片中模糊的部分是我的用户名,我不确定包含它是否违反规则。

    祝你好运。

    【讨论】:

    • 谢谢,默认端口是 8000 ,python3 -m http.server 8080 工作正常!
    猜你喜欢
    • 2016-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    • 2019-11-24
    • 2021-01-31
    • 2011-06-27
    • 2021-11-30
    • 2022-11-12
    相关资源
    最近更新 更多