google app engine urlfetch gzip to string

时间:2012-06-18 17:49:27

标签: python google-app-engine gzip

使用Google App Engine,我试图从包含一个csv文件的URL中提取gzip文件。

最终我想在我的网页上输出csv文件的内容。

目前我有以下代码:

#!/usr/bin/env python
import webapp2

from google.appengine.api import urlfetch

class Test(webapp2.RequestHandler):
  def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    url = *this_is_my_url*
    test = urlfetch.fetch(url, deadline=25)
    self.response.out.write(test.content)

app = webapp2.WSGIApplication([
  ('/test', Test)
], debug=True)

不是将文件内容打印到屏幕,而是要求我在本地下载它们。如何停止本地下载,而是直接打印到屏幕/网页?

1 个答案:

答案 0 :(得分:3)

看看是否有效。

#!/usr/bin/env python
import webapp2
from google.appengine.api import urlfetch
import gzip
import StringIO

class Test(webapp2.RequestHandler):
  def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    url = *this_is_my_url*

    test = urlfetch.fetch(url, deadline=25)


    f = StringIO.StringIO(test.content)
    c = gzip.GzipFile(fileobj=f)
    content = c.read()

    self.response.out.write(content)

app = webapp2.WSGIApplication([
  (r'/', Test)
], debug=True)