2014-07-21 51 views
1

[港口]我在頁面的文件夾中創建簡單的html頁面蟒蛇-m SimpleHttpServer在OSX

<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>標記中。

如果我打開來源獲取:

<html> 
........ 
<body> 
<p class="p1"><span class="s1">&lt;</span><b>html</b><span class="s2"> </span><span class="s3">lang</span><span class="s1">=</span><span class="s4">"en"</span><span class="s1">&gt;</span></p> 
<p class="p2"> <span class="s1">&lt;</span><span class="s5"><b>head</b></span><span class="s1">&gt;</span></p> 
<p class="p2">  <span class="s1">&lt;</span><span class="s5"><b>meta</b></span> <span class="s3">charset</span><span class="s1">=</span><span class="s4">"utf-8"</span><span class="s1">&gt;</span></p> 
<p class="p3"><span class="s2">  </span>&lt;<span class="s5"><b>title</b></span>&gt;Backbone.js Todo App&lt;/<span class="s5"><b>title</b></span>&gt;</p> 
<p class="p2"> <span class="s1">&lt;/</span><span class="s5"><b>head</b></span><span class="s1">&gt;</span></p> 
<p class="p2"> <span class="s1">&lt;</span><span class="s5"><b>body</b></span><span class="s1">&gt;</span></p> 
<p class="p3"><span class="s2">  </span>Hello, world.</p> 
<p class="p3"><span class="Apple-converted-space"> </span>&lt;/<span class="s5"><b>body</b></span>&gt;</p> 
<p class="p1"><span class="s1">&lt;/</span><b>html</b><span class="s1">&gt;</span></p> 
</body> 
</html> 
+0

頁面的文件名是什麼? – favoretti

回答

0

我只是想在我的MAC,我不遵守類似的行爲:我啓動服務器略有不同:

  • python -mSimpleHTTPServer 8000:之間沒有空格m和SimpleHTTPServer(與空間檢查,相同的行爲)
  • 我有2個文件:a.out和a.html具有相同的內容:它看起來像a.out獲取下載,而a.html顯示(與鉻)

我的猜測是您的文件沒有擴展名.html,並且您的瀏覽器本身正在添加標籤以顯示它。

您可以嘗試下載該文件的捲曲度,以確保:curl http://localhost:8000/a.out從終端

注:我使用Python 2.7.5

+0

不,我的文件確實有.html擴展名 –

+0

我的不好,我用的是默認文本編輯器,裏面有很多格式化符號 –

0

在McBook空氣運行的MacOS 10.9.4如果您的網頁就像您正在描述的那樣顯示爲文本,這很可能意味着服務器在其HTTP頭中不使用正確的content-typeSimpleHTTPServer使用模塊mimetypes來確定什麼content-type用於大多數文件類型。

你可以自己去查:

>>> import mimetypes 
>>> mimetypes.init() 
>>> print mimetypes.types_map 
... 

或者更具體地說

>>> print mimetypes.types_map['.html'] 
text/html 

確保您的文件擴展名什麼mimetypes預期相符。

+0

我應該在哪裏做那個命令? –

+0

直接在你的python解釋器中試試它們。也就是說,啓動'python'並粘貼它們。 –

+0

我的不好,我用默認的文本編輯器,裏面過去很多格式化符號 –

1

如果您在TextEdit中編輯頁面,請確保打開格式菜單並選擇「製作純文本」。

Plain Text

如果您保存爲HTML沒有這個選項,文字編輯會添加這些標籤,讓您的文本文件的格式。