有时会在生产环境中收到 500 错误 w/ Ajax 到 Google Books API



在使用Python,Flask,Heroku,Jquery和Google Books API的小型教授(日语)工作时,我在执行"検索"(意思是"搜索")时遇到了500个内部服务器错误。

当您单击"検索"及其旁边的框上的一些输入时,它会向Google Books API发送请求,并通过带有Jquery的Ajax获取与该参数匹配的书籍数据,如下所示。

@app.route("/_search_books")
def search_books():
   title = request.args.get('title')
   if title:
        title = title.encode('utf-8')
        url = 'https://www.googleapis.com/books/v1/volumes?q=' + title
        h = urlopen(url)
        data = json.load(h)
        books = []
        for i in range(len(data['items'])):
            try:
                title = data['items'][i]['volumeInfo']['title']
            except:
                title = None
            try:
                author = data['items'][i]['volumeInfo']['authors'][0]
            except:
                author = None
            try:
                publisher = data['items'][i]['volumeInfo']['publisher']
            except:
                publisher = None
            try:
                year = data['items'][i]['volumeInfo']['publishedDate']
            except:
                year = None
            try:
                thumbnail = data['items'][i]['volumeInfo']['imageLinks']['thumbnail']
            except:
                thumbnail = None
            try:
                page = data['items'][i]['volumeInfo']['pageCount']
            except:
                page = None
            books.append({'title': title, 'author': author, 'publisher': publisher, 'year': year, 'thumbnail': thumbnail, 'page': page})
        return jsonify(result=books)

它在开发中工作正常,所以我想它是 Google Books API 的权限相关内容或 SSL 相关内容。

奇怪的是,它并不总是返回 500,有时会返回预期的结果。这似乎取决于我执行的时间,比如早上 200 点,下午 500 点。

提前致谢:)

我遇到了同样的问题。 矿山在开发和生产之间没有区别;他们俩只是偶尔返回 500。 消息为"后端错误"。 我不相信你能做些什么来解决这个问题;这似乎是谷歌方面的一个问题。 我通常可以在几秒钟后再次重复相同的查询,它工作正常。

嘿,

我实际上遇到了同样的问题,将请求量更改为较低的maxResults=15到搜索字符串,它解决了问题

相关内容

  • 没有找到相关文章