我在通过python cgi程序与串口通信时遇到问题。我在html中有两个按钮用于控制两个LED(LED1,LED2)。
<html>
<h1>Test Page 2</h1>
<form name="input" action="/cgi-bin/myscript-2.py" method="get">
<input type="submit" value="LED1" name="Submit">
<input type="submit" value="LED2" name="Submit1">
</form>
</html>
现在我的python程序从这里收到结果
#!/usr/bin/python
import cgi
import cgitb;
import serial
form = cgi.FieldStorage()
cgitb.enable()
port = "/dev/ttyACM0"
ser = serial.Serial(port, 9600, timeout=0)
if "LED1" in form:
ser.write("hello")
elif "LED2" in form:
ser.write("hello")
else:
print "Couldn't determine which button was pressed."
我总是无法确定按钮.apache错误日志就像这样
[Sat Nov 08 12:41:41.579738 2014] [cgid:error] [pid 1080:tid 3004140352] [client 127.0.0.1:48698] malformed header from script 'myscript-2.py': Bad header: Couldn't determine which butto, referer: http://localhost/page2.html
答案 0 :(得分:0)
如果使用CGI脚本,则必须先打印标题。
看看https://wiki.python.org/moin/CgiScripts。 你错过了
print "Content-type: text/html"
print
作为剧本的第一个陈述。