簡體   English   中英

bash命令的CGI腳本

[英]CGI scripts for bash commands

我有點陌生,所以請告訴我我做錯了什么。

我正在用樹莓派做一些gpio的工作,此刻我正在做一些事情,以便可以通過Web界面控制gpio引腳。 我執行此操作的方法之一是使用bash CGI腳本控制引腳,然后從瀏覽器執行它們。

到目前為止,我能使它起作用的唯一方法是瀏覽器加載頁面“ .../cgi-bin/gpio1.cgi ”等,其中包含以下代碼:

#!/bin/bash
echo "Content-type: text/html"
echo ""
...gpio stuff...

這可行,但是瀏覽器導航到此腳本創建的空白頁。

有沒有一種方法可以在不離開網頁的情況下執行這些腳本,因此這些腳本不是在編寫HTML,而是專注於實際的gpio內容?

謝謝

嘗試這個:

#!/bin/bash
echo "Status: 204 No Content"
...gpio stuff...

HTTP響應必須以狀態行開頭; 如果CGI未指定狀態,則網絡服務器通常會添加狀態“ 200 Ok”。 該狀態必須帶有響應正文,該響應正文將構成新的網頁。

您想要的狀態是204 ,它指示請求已滿足,但沒有響應,瀏覽器應停留在同一頁面上。 通常,這將是對POST請求的響應,而不是對GET請求的響應,但是無論如何應該可以正常工作。 由於204響應不需要響應主體(實際上,它不允許一個響應主體),因此,沒有必要在狀態行之后輸出空白行,但是如果腳本花費很長時間來響應,則可能需要一個空白行跑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM