2010-03-12 41 views
0
from google.appengine.ext import webapp 
from google.appengine.ext.webapp import util 
from google.appengine.ext import db 
from google.appengine.api import urlfetch 

class TrakHtml(db.Model): 
    hawb = db.StringProperty(required=False) 
    htmlData = db.TextProperty() 

class MainHandler(webapp.RequestHandler): 
    def get(self): 
    Traks = list() 
    Traks.append('93332134') 
    #Traks.append('91779831') 
    #Traks.append('92782244') 
    #Traks.append('38476214') 

    for st in Traks : 
     trak = TrakHtml() 
     trak.hawb = st 
     url = 'http://etracking.cevalogistics.com/eTrackResultsMulti.aspx?sv='+st 

     result = urlfetch.fetch(url) 
     self.response.out.write(result.read()) 

     trak.htmlData = result.read() 
     trak.put() 

result.read()沒有給出整個文件,它給出了一些部分。 trak.htmlData是一個TextProperty()所以它必須存儲整個文件,我只想要。獲取url數據時出錯

回答

1

您撥打result.read()兩次。這可能就是爲什麼它是分散的。

0

我注意到,你在調用read()兩次返回值的信息,這可能是問題。

當我看urlfetch.fetch()的規格時,它返回一個response object

內容可直接作爲result.contents訪問,因此您不需要調用(undefined ??)讀取函數。