我创建了最简单的html页面
<html lang="en">
<head>
<meta charset="utf-8">
<title>App</title>
</head>
<body>
Hello, world.
</body>
</html>
然后在页面的文件夹中运行python -m SimpleHTTPServe 8000
。在
问题:当我转到localhost:8000
时,我看到了我页面的文本。表示http服务器,而不是将其解释为html页将我的页面的每个字符串包装到<p>
标记中。在
如果我打开源代码,我会得到:
^{pr2}$
如果在TextEdit中编辑页面,请确保打开“格式”菜单并选择“生成纯文本”
如果不使用此选项保存为HTML,TextEdit将添加这些标记以保持文本文件的格式。在
我刚试过我的mac电脑,但没有观察到类似的行为:我启动服务器的方式略有不同:
python -mSimpleHTTPServer 8000
:m和SimpleHTTPServer之间没有空格(用空格检查,行为相同)我猜你的文件没有扩展名.html,你的浏览器本身正在添加标签来显示它。在
您可以尝试使用curl下载该文件,以确保:
curl http://localhost:8000/a.out
来自终端注意:我正在用python2.7.5在mcbookair上运行macos10.9.4
如果您的页面如您所描述的那样显示为文本,那么很可能意味着服务器在其HTTP报头中没有使用正确的
content-type
。SimpleHTTPServer
使用模块mimetypes
来确定对大多数文件类型使用什么content-type
。在您可以自己检查:
或者更具体地说
^{pr2}$请确保您的文件扩展名与
mimetypes
期望的一致。在相关问题 更多 >
编程相关推荐