Open Justsoos opened 6 years ago
因为我测过 douyu 的api,很变态,token 二次连接很容易就失效,拒绝连接了。b 站相比几乎没太多措施,huya 宽松很多,一分钟内都可以重用。
上面这2次连接,应该是 you-get 在早期留下的坏习惯,当时流媒体网站对 token 失效没有那么变态的要求。
找到解决方案,stream=True
这是个好东西啊。可以删掉 common.url_size()
这个函数了。一次 session.get()
,就可以同时取Content-Length
,然后下面 response.iter_content()
复用连接
https://github.com/iawia002/Lulu/blob/9254e49e7d997f64b5dddc24195b5e72eb3d90e5/lulu/common.py#L377
https://github.com/iawia002/Lulu/blob/9254e49e7d997f64b5dddc24195b5e72eb3d90e5/lulu/common.py#L424
通过监视log,可见:
由于这个取 url_size 行为,you-get 或 lulu 都要对带token的流地址二次连接,这对于限制盗播的流媒体网站其实相当敏感。应该合并这两个行为。