0
這是一個測試腳本,用於請求由API
本身提供的Rovi API
的數據。請求 - 網關超時
test.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
:
from roviclient.test import AllMusicGuide
,並創建一個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>:
有什麼不好?