HTTPException:在Google AppEngine上等待HTTP时超出截止日期

时间:2013-04-04 06:10:08

标签: google-app-engine python-2.7

在Python AppEngine上获得以下错误:

  

HTTPException:等待来自URL的HTTP响应时超出截止日期:https://www.googleapis.com/books/v1/users/115429583296661000087/bookshelves/1001/volumes?maxResults=12&startIndex=0

URL是.json格式,我通过以下代码抓取它:

request = urllib2.Request(bookShelfUrl, None, {'Content-Type': 'application/json'})
bookShelfJsonRaw = urllib2.urlopen(request)  
bookShelfJsonObject = json.load(bookShelfJsonRaw) 

在localhost中测试时工作正常,只在生产中出错。它在生产中也运行良好,直到今天它神秘地开始返回该错误。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我不知道是谷歌解决了这个问题,还是在我修改代码并指定了timout参数而不是http实例化的deafults之后就开始工作了:

httplib2.Http(timeout=15)

答案 1 :(得分:0)

谷歌图书gData API超时,因为我没有传递国家/地区代码。无论出于何种原因,没有国家在本地测试服务器上工作正常,但每当我将其推向生产时它都会超时。添加country = US后,json feed工作正常。

bookShelfUrl = 'https://www.googleapis.com/books/v1/users/' + \
bookShelfId + \
'/bookshelves/1001/volumes?' + \
'maxResults=' + str(maxResults) + \
'&startIndex=' + str(startIndex) + \
'&country=US'