我使用 CherryPy 运行一个非常简单的Web服务器。它旨在处理GET
参数,并且如果它们正确,会对它们进行某些操作。
import cherrypy
class MainServer(object):
def index(self, **params):
# do things with correct parameters
if 'a' in params:
print params['a']
index.exposed = True
cherrypy.quickstart(MainServer())
例如,
http://127.0.0.1:8080/abcde:
404 Not Found
The path '/abcde' was not found.
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\cherrypy\_cprequest.py", line 656, in respond
response.body = self.handler()
File "C:\Python27\lib\site-packages\cherrypy\lib\encoding.py", line 188, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "C:\Python27\lib\site-packages\cherrypy\_cperror.py", line 386, in __call__
raise self
NotFound: (404, "The path '/abcde' was not found.")
Powered by CherryPy 3.2.4
我试图捕获这个异常并展示一个空白页面,因为客户并不关心它。具体而言,无论导致异常的url或查询字符串如何,结果都将是一个空的主体。
我查看了有关错误处理的文档 cherrypy._cperror
,但我没有找到实际使用它的方法。
注意:我放弃使用CherryPy
并找到了一个简单的解决方案,使用BaseHTTPServer
(见下面我的答案)
try, except
? - Dmitry Zagorulkin200
)。然后我在我的脚本中使用他们发送的内容。是的 - 我担心响应中的回溯文本(我想要一个空的响应)。 - WoJ