我想启用代理,我找到了一个名为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的代理支持?我找不到任何例子。
答案 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错误修复尚未发布。)