Python “接收”;标题前的脚本输出结束“;即使脚本工作也会出错

Python “接收”;标题前的脚本输出结束“;即使脚本工作也会出错,python,html,xampp,Python,Html,Xampp,我创建了一个简单的html页面来发布到python脚本 <!DOCTYPE html> <html> <body> <h1>Name</h1> <form action="/cgi-bin/ver1.py" method="get"> <label for="fname">VIN</label> <input type=&q

我创建了一个简单的html页面来发布到python脚本

<!DOCTYPE html>
<html>
<body>

<h1>Name</h1>

<form action="/cgi-bin/ver1.py" method="get">
  <label for="fname">VIN</label>
  <input type="text" id="fname" name="searchbox"><br><br>
  <button type="submit" formtarget="_blank">Submit to a new window/tab</button>
</form>


</body>
</html>
这一切都正常工作,除了一个部分,它不只是用window_stkr打开一个新选项卡,而是用

标题前的脚本输出结束

错误

查看apache中的错误日志时,唯一的一行是:

[9月11日星期五00:46:21.231868 2020][cgi:error][pid 11624:tid 1896] [client::1:54144]头之前的脚本输出结束:ver1.py, 推荐人:http://localhost/decoder.html


正如@furas指出的,这是因为我没有向浏览器发送任何响应

我做了以下更改,现在我有一个html页面,而不是3个选项卡,pdf将在一个窗口中打开,其中的错误过去是:

#!C:\Python\python.exe


import requests
import webbrowser
import cgi
form = cgi.FieldStorage()
 

vin=form.getvalue('searchbox')
token='withheld'

dr=requests.get("withheld" % (token, vin))




window_stkr=(dr.json()["car"]["sticker"]["pdf"])
#webbrowser.open_new_tab(window_stkr)
print('Content-type:text/html\n\n')
print('<html>')
print('  <head>')
print('    <meta http-equiv="refresh" content="0;url='+str(window_stkr)+'" />') 
print('  </head>')
print('</html>')
#!C:\Python\Python.exe
导入请求
导入网络浏览器
导入cgi
form=cgi.FieldStorage()
vin=form.getvalue('搜索框')
代币
dr=requests.get(“扣留”%(令牌,vin))
window_stkr=(dr.json()[“car”][“贴纸”][“pdf”])
#webbrowser.打开新选项卡(窗口)
打印('Content-type:text/html\n\n')
打印(“”)
打印(“”)
打印(“”)
打印(“”)
打印(“”)

始终将完整的错误消息(从单词“Traceback”开始)作为文本(而不是屏幕截图)进行讨论(而不是评论)。还有其他有用的信息。每个页面/url/请求都应该向浏览器发送响应,但您什么也不发送。你甚至不发送标题。这可能是您的问题。@因为没有回溯,这是我在boxin客户端服务器中输入值后生成的唯一一行,当浏览器发送请求(尝试连接
url
)时,服务器必须发送带有页面或至少带有标题的响应。而且
ver1.py
也应该向浏览器发送一些响应-它甚至可以是空页面,但它的标题中包含浏览器的信息,该页面/url访问时没有问题(状态代码200)。或者它应该发送带有信息的响应以重定向回带有表单的页面。我如何发送带有信息的响应以重定向回带有表单的页面?
#!C:\Python\python.exe


import requests
import webbrowser
import cgi
form = cgi.FieldStorage()
 

vin=form.getvalue('searchbox')
token='withheld'

dr=requests.get("withheld" % (token, vin))




window_stkr=(dr.json()["car"]["sticker"]["pdf"])
#webbrowser.open_new_tab(window_stkr)
print('Content-type:text/html\n\n')
print('<html>')
print('  <head>')
print('    <meta http-equiv="refresh" content="0;url='+str(window_stkr)+'" />') 
print('  </head>')
print('</html>')