0

在 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) 

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

有什么想法吗?

4

2 回答 2

1

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

httplib2.Http(timeout=15)
于 2013-04-04T08:59:26.797 回答
0

Google Books gData API 超时,因为我没有传入国家代码。无论出于何种原因,在没有本地测试服务器上的国家/地区的情况下它都可以正常工作,但是每当我将其推送到生产环境时,它都会超时。添加 country=US 后,json 提要运行良好。

bookShelfUrl = 'https://www.googleapis.com/books/v1/users/' + \
bookShelfId + \
'/bookshelves/1001/volumes?' + \
'maxResults=' + str(maxResults) + \
'&startIndex=' + str(startIndex) + \
'&country=US'
于 2013-04-28T20:28:50.927 回答