Skip to main content
 首页 » 编程设计

python之从谷歌的应用引擎生成非 html 输出

2025年05月04日16insus

我正在尝试动态生成 iCal使用 Max M 的 icalendar 输出python模块和谷歌的应用引擎。但是,当我省略样板时 <html> webapp.RequestHandler 的输出上的页眉和页脚标记,看起来 HTTP 200 响应已添加到文件顶部。

当我注册这个代码时:

class Calendar(webapp.RequestHandler): 
    def get(self): 
        self.response.out.write('BEGIN:VCALENDAR\n') 
        [...] 

与 webapp.WSGIApplication ,响应看起来像:

Status: 200 OK 
Content-Type: text/html; charset=utf-8 
Cache-Control: no-cache 
Expires: Fri, 01 Jan 1990 00:00:00 GMT 
Content-Length: 11133 
 
BEGIN:VCALENDAR 
[...] 

如何省略 <html>标记 和 没有在页面顶部显示 HTTP 200 响应?

请您参考如下方法:

Webapp 和 App Engine 不关心您返回的内容类型,因此该问题与标签(或缺少标签)无关。您的代码中可能有一个 print 语句,这导致 header 作为响应正文的一部分发送。你永远不应该在 WSGI 应用程序中使用 print - 总是像你粘贴的代码片段中那样使用 self.response.out.write。