2014-05-16 24 views
1

我在OpenWrt 12.09上運行uhttpd。我在/ WWW/cgi-bin目錄/測試一個shell腳本,看起來像這樣:如何從cgi-bin提供HTML?

#!/bin/sh 
echo "Content-type: text/html" 
echo "<p>It works!</p>" 

我把文件通過它做chmod +x執行權限。所有者是root,並且uhttpd以root身份運行。

現在,當我去http://192.168.1.1/cgi-bin/test我得到一個錯誤:

The CGI process did not produce any response 

有系統或內核日誌中沒有錯誤。

我可以去http://192.168.1.1/cgi-bin/luci並獲得Luci登錄頁面,所以其他CGI腳本正在工作。該文件具有不同的shebang(#!/usr/bin/lua),但兩個腳本具有相同的權限和所有者。

我在做什麼錯?

回答

5

There 必須在HTTP標頭和主體之間爲空行。另外,您可能想要提供完整的html文檔。

#!/bin/sh 
echo "Content-type: text/html" 
echo 
echo "<html><head><title>hello world</title></head><body><p>It works!</p></body>" 
+0

用腳本末尾的0退出 – Helio

+1

我的代碼怎麼樣會導致非零退出狀態? –