请求网关时间OU

2024-10-03 11:18:09 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个从Rovi API请求数据的测试脚本,由API自己提供。在

测试.py

import requests 
import time
import hashlib
import urllib

class AllMusicGuide(object):
    api_url = 'http://api.rovicorp.com/data/v1.1/descriptor/musicmoods'

    key = 'my key'
    secret = 'secret'

    def _sig(self):
        timestamp = int(time.time())

        m = hashlib.md5()
        m.update(self.key)
        m.update(self.secret)
        m.update(str(timestamp))

        return m.hexdigest()

    def get(self, resource, params=None):
        """Take a dict of params, and return what we get from the api"""

        if not params:
            params = {}

        params = urllib.urlencode(params)

        sig = self._sig()

        url = "%s/%s?apikey=%s&sig=%s&%s" % (self.api_url, resource, self.key, sig, params)

        resp = requests.get(url)

        if resp.status_code != 200:         
            # THROW APPROPRIATE ERROR
                print ('unknown err')

        return resp.content

从另一个script导入module

^{pr2}$

并在mood function内创建class的实例:

def mood():
    test = AllMusicGuide()
    print (test.get('[moodids=moodids]'))

根据documentation,以下是请求的syntax

descriptor/musicmoods?apikey=apikey&sig=sig [&moodids=moodids] [&format=format] [&country=country] [&language=language]

但是运行脚本时,我得到了以下错误:

unknown err <h1>Gateway Timeout</h1>:

怎么了?在


Tags: keyimportselfapiurlgetsecretreturn
1条回答
网友
1楼 · 发布于 2024-10-03 11:18:09

“504,再试一次。502,它通过了。”

代码正常,这是网络问题。”网关超时”是504。处理您的请求的中间主机无法完成请求。它代表您向另一台服务器发出了自己的请求,以处理您的请求,但此请求花费了太长时间,并且超时。通常这是因为后端的网络拥塞;如果您再尝试几次,有时是否有效?在

无论如何,我会和你的网络管理员谈谈。这可能有很多原因,他们应该能够帮助你解决它。在

相关问题 更多 >