我正在尝试编写一个python脚本来对Last.fm进行查询,但是我一直收到一个无效的方法错误。
我不希望链接到预先编写的last.fm python库,我试图将其作为“测试我知道的”项目。提前谢谢!
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 :(得分:2)
您的请求缺少内容类型:“application / x-www-form-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()
答案 1 :(得分:0)
Last.fm artist.getSimilar API方法不需要POST,可以使用GET完成。
只有更改数据的API方法才需要POST方法。