启用pyLas的代理支持

2024-10-01 15:37:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我想启用代理,我发现了一个名为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的代理支持?我找不到任何例子。你知道吗


Tags: 方法key网络api代理enableusernamepassword
1条回答
网友
1楼 · 发布于 2024-10-01 15:37:45

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

像这样:

network = pylast.LastFMNetwork(api_key, api_secret)
if proxy_enabled:
    network.enable_proxy(host = proxy_host, port = proxy_port)

你需要偷东西吗?如果是,请在启用代理后尝试以下操作:

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;还有一个bug修复程序尚未发布)。你知道吗

另见:https://github.com/pylast/pylast/issues/103

相关问题 更多 >

    热门问题