启用pyLast的代理支持

时间:2014-04-25 06:45:55

标签: python last.fm

我想启用代理,我找到了一个名为enable_proxy的方法,但当我这样做时:

network = pylast.LastFMNetwork(api_key = API_KEY, api_secret = API_SECRET, username = username, password_hash = password_hash)

network.enable_proxy("http//...", 8080)

我收到网络错误:[Errno 11004] getaddrinfo failed,因为pylast.LastFMNetwork的调用尝试生成网络会话密钥。如何启用pylast的代理支持?我找不到任何例子。

1 个答案:

答案 0 :(得分:0)

如果您不需要scrobble,可以通过省略用户名/密码哈希来创建没有会话密钥的网络对象,如下所示:

像这样:

network = pylast.LastFMNetwork(api_key, api_secret)
if proxy_enabled:
    network.enable_proxy(host = proxy_host, port = proxy_port)
你需要scrobble吗?如果是这样,请在启用代理后尝试这样的事情:

network.username = my_username
network.password_hash = my_password_hash
sk_gen = SessionKeyGenerator(network)
network.session_key = sk_gen.get_session_key(my_username, my_password_hash)

注意:httplib.HTTPConnection不支持身份验证,因此如果您不必对自己进行身份验证,则第二个应该可以使用(使用最新的GitHub版本的pylast;那里有#sa; sa错误修复尚未发布。)

另请参阅:https://github.com/pylast/pylast/issues/103