2010-12-06 2 views
2

Я пытаюсь написать скрипт python для выполнения запроса в Last.fm, но я продолжаю возвращать неверную ошибку метода.Last.fm api недействительный метод

Мне не нужны ссылки на предварительно написанные библиотеки python last.fm, я пытаюсь сделать это как проект «проверить, что я знаю». Заранее спасибо!

import urllib 
import httplib 

params = urllib.urlencode({'method' : 'artist.getsimilar', 
       'artist' : 'band', 
       'limit' : '5', 
       'api_key' : #API key goes here}) 

header = {"user-agent" : "myapp/1.0"} 

lastfm = httplib.HTTPConnection("ws.audioscrobbler.com") 

lastfm.request("POST","/2.0/?",params,header) 

response = lastfm.getresponse() 
print response.read() 
+0

Какая ошибка? – user225312 2010-12-06 04:25:58

ответ

2

Вам не хватает Content-Type для вашего запроса: "применение/х-WWW-форм-urlencoded". Это работает:

import urllib 
import httplib 

params = urllib.urlencode({'method' : 'artist.getsimilar', 
       'artist' : 'band', 
       'limit' : '5', 
       'api_key' : '#API key goes here'}) 

header = {"user-agent" : "myapp/1.0", 
      "Content-type": "application/x-www-form-urlencoded"} 

lastfm = httplib.HTTPConnection("ws.audioscrobbler.com") 

lastfm.request("POST","/2.0/?",params,header) 

response = lastfm.getresponse() 
print response.read() 
+0

ugh, большое вам спасибо – 2010-12-07 06:11:18

0

метод API Last.fm artist.getSimilar не требует POST, это может быть сделано с помощью GET.

Только методы API, которые изменяют данные, требуют метода POST.

Смежные вопросы