From 2c0dd6e1c977008bf2f3126fef0b082ed5409541 Mon Sep 17 00:00:00 2001 From: John Smith Date: Sat, 18 Jun 2022 21:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E8=AF=B7=E6=B1=82=E8=A2=AB=E5=B1=8F=E8=94=BD=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 也修改了其他请求的User-Agent,防止将来被屏蔽 --- api/chat.py | 9 ++++++++- blivedm | 2 +- services/avatar.py | 9 ++++++++- services/translate.py | 4 ++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/api/chat.py b/api/chat.py index c14f123..e02f3c1 100644 --- a/api/chat.py +++ b/api/chat.py @@ -306,7 +306,14 @@ class RoomInfoHandler(api.base.ApiHandler): # noqa async def _get_room_info(room_id): try: async with utils.request.http_session.get( - blivedm_client.ROOM_INIT_URL, params={'room_id': room_id} + blivedm_client.ROOM_INIT_URL, + headers={ + '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' + }, + params={ + 'room_id': room_id + } ) as res: if res.status != 200: logger.warning('room=%d _get_room_info failed: %d %s', room_id, diff --git a/blivedm b/blivedm index d8f7f6b..2cca735 160000 --- a/blivedm +++ b/blivedm @@ -1 +1 @@ -Subproject commit d8f7f6b7828069cb6c1fd13f756cfd891f0b1a46 +Subproject commit 2cca7354b1e4e1376d66a4d442480d56e7d5e22f diff --git a/services/avatar.py b/services/avatar.py index 9ce1117..e47d332 100644 --- a/services/avatar.py +++ b/services/avatar.py @@ -148,7 +148,14 @@ async def _get_avatar_url_from_web_coroutine(user_id, future): async def _do_get_avatar_url_from_web(user_id): try: async with utils.request.http_session.get( - 'https://api.bilibili.com/x/space/acc/info', params={'mid': user_id} + 'https://api.bilibili.com/x/space/acc/info', + headers={ + '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' + }, + params={ + 'mid': user_id + } ) as r: if r.status != 200: logger.warning('Failed to fetch avatar: status=%d %s uid=%d', r.status, r.reason, user_id) diff --git a/services/translate.py b/services/translate.py index 45ad88e..b97b197 100644 --- a/services/translate.py +++ b/services/translate.py @@ -424,6 +424,10 @@ class BilibiliTranslateFree(FlowControlTranslateProvider): try: async with utils.request.http_session.get( 'https://api.live.bilibili.com/av/v1/SuperChat/messageTranslate', + headers={ + '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' + }, params={ 'room_id': '21396545', 'ruid': '407106379',