修复连接WebSocket时用的UA
This commit is contained in:
@@ -8,6 +8,7 @@ import aiohttp
|
|||||||
import yarl
|
import yarl
|
||||||
|
|
||||||
from . import ws_base
|
from . import ws_base
|
||||||
|
from .. import utils
|
||||||
|
|
||||||
__all__ = (
|
__all__ = (
|
||||||
'BLiveClient',
|
'BLiveClient',
|
||||||
@@ -15,10 +16,6 @@ __all__ = (
|
|||||||
|
|
||||||
logger = logging.getLogger('blivedm')
|
logger = logging.getLogger('blivedm')
|
||||||
|
|
||||||
USER_AGENT = (
|
|
||||||
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
|
|
||||||
)
|
|
||||||
|
|
||||||
UID_INIT_URL = 'https://api.bilibili.com/x/web-interface/nav'
|
UID_INIT_URL = 'https://api.bilibili.com/x/web-interface/nav'
|
||||||
BUVID_INIT_URL = 'https://data.bilibili.com/v/'
|
BUVID_INIT_URL = 'https://data.bilibili.com/v/'
|
||||||
ROOM_INIT_URL = 'https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom'
|
ROOM_INIT_URL = 'https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom'
|
||||||
@@ -123,7 +120,7 @@ class BLiveClient(ws_base.WebSocketClientBase):
|
|||||||
try:
|
try:
|
||||||
async with self._session.get(
|
async with self._session.get(
|
||||||
UID_INIT_URL,
|
UID_INIT_URL,
|
||||||
headers={'User-Agent': USER_AGENT},
|
headers={'User-Agent': utils.USER_AGENT},
|
||||||
ssl=self._ssl
|
ssl=self._ssl
|
||||||
) as res:
|
) as res:
|
||||||
if res.status != 200:
|
if res.status != 200:
|
||||||
@@ -162,7 +159,7 @@ class BLiveClient(ws_base.WebSocketClientBase):
|
|||||||
try:
|
try:
|
||||||
async with self._session.get(
|
async with self._session.get(
|
||||||
BUVID_INIT_URL,
|
BUVID_INIT_URL,
|
||||||
headers={'User-Agent': USER_AGENT},
|
headers={'User-Agent': utils.USER_AGENT},
|
||||||
ssl=self._ssl
|
ssl=self._ssl
|
||||||
) as res:
|
) as res:
|
||||||
if res.status != 200:
|
if res.status != 200:
|
||||||
@@ -176,7 +173,7 @@ class BLiveClient(ws_base.WebSocketClientBase):
|
|||||||
try:
|
try:
|
||||||
async with self._session.get(
|
async with self._session.get(
|
||||||
ROOM_INIT_URL,
|
ROOM_INIT_URL,
|
||||||
headers={'User-Agent': USER_AGENT},
|
headers={'User-Agent': utils.USER_AGENT},
|
||||||
params={
|
params={
|
||||||
'room_id': self._tmp_room_id
|
'room_id': self._tmp_room_id
|
||||||
},
|
},
|
||||||
@@ -209,7 +206,7 @@ class BLiveClient(ws_base.WebSocketClientBase):
|
|||||||
try:
|
try:
|
||||||
async with self._session.get(
|
async with self._session.get(
|
||||||
DANMAKU_SERVER_CONF_URL,
|
DANMAKU_SERVER_CONF_URL,
|
||||||
headers={'User-Agent': USER_AGENT},
|
headers={'User-Agent': utils.USER_AGENT},
|
||||||
params={
|
params={
|
||||||
'id': self._room_id,
|
'id': self._room_id,
|
||||||
'type': 0
|
'type': 0
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from typing import *
|
|||||||
import aiohttp
|
import aiohttp
|
||||||
import brotli
|
import brotli
|
||||||
|
|
||||||
from .. import handlers
|
from .. import handlers, utils
|
||||||
|
|
||||||
logger = logging.getLogger('blivedm')
|
logger = logging.getLogger('blivedm')
|
||||||
|
|
||||||
@@ -259,6 +259,7 @@ class WebSocketClientBase:
|
|||||||
# 连接
|
# 连接
|
||||||
async with self._session.ws_connect(
|
async with self._session.ws_connect(
|
||||||
self._get_ws_url(retry_count),
|
self._get_ws_url(retry_count),
|
||||||
|
headers={'User-Agent': utils.USER_AGENT}, # web端的token也会签名UA
|
||||||
receive_timeout=self._heartbeat_interval + 5,
|
receive_timeout=self._heartbeat_interval + 5,
|
||||||
ssl=self._ssl
|
ssl=self._ssl
|
||||||
) as websocket:
|
) as websocket:
|
||||||
|
|||||||
4
blivedm/utils.py
Normal file
4
blivedm/utils.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
USER_AGENT = (
|
||||||
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user