44Author: Hmily
55GitHub:https://github.com/ihmily
66Date: 2023-07-17 23:52:05
7- Update: 2024-10-08 23:35 :00
7+ Update: 2025-01-27 22:08 :00
88Copyright (c) 2023 by Hmily, All Rights Reserved.
99"""
1010import json
1111import re
1212import urllib .parse
1313import execjs
1414import httpx
15- import requests
1615import urllib .request
1716from . import JS_SCRIPT_PATH
17+ from .utils import handle_proxy_addr
1818
1919no_proxy_handler = urllib .request .ProxyHandler ({})
2020opener = urllib .request .build_opener (no_proxy_handler )
@@ -51,7 +51,8 @@ async def get_sec_user_id(url: str, proxy_addr: str | None = None, headers: dict
5151 headers = HEADERS
5252
5353 try :
54- async with httpx .AsyncClient (proxies = proxy_addr , timeout = 15 ) as client :
54+ proxy_addr = handle_proxy_addr (proxy_addr )
55+ async with httpx .AsyncClient (proxy = proxy_addr , timeout = 15 ) as client :
5556 response = await client .get (url , headers = headers , follow_redirects = True )
5657
5758 redirect_url = response .url
@@ -78,7 +79,8 @@ async def get_unique_id(url: str, proxy_addr: str | None = None, headers: dict |
7879 headers = HEADERS_PC
7980
8081 try :
81- async with httpx .AsyncClient (proxies = proxy_addr , timeout = 15 ) as client :
82+ proxy_addr = handle_proxy_addr (proxy_addr )
83+ async with httpx .AsyncClient (proxy = proxy_addr , timeout = 15 ) as client :
8284 # 第一次请求,获取重定向后的URL以提取sec_user_id
8385 response = await client .get (url , headers = headers , follow_redirects = True )
8486 redirect_url = str (response .url )
@@ -126,7 +128,8 @@ async def get_live_room_id(room_id: str, sec_user_id: str, proxy_addr: str | Non
126128 api = api + "&X-Bogus=" + xbogus
127129
128130 try :
129- async with httpx .AsyncClient (proxies = {"http://" : proxy_addr , "https://" : proxy_addr } if proxy_addr else None ,
131+ proxy_addr = handle_proxy_addr (proxy_addr )
132+ async with httpx .AsyncClient (proxy = proxy_addr ,
130133 timeout = 15 ) as client :
131134 response = await client .get (api , headers = headers )
132135 response .raise_for_status () # 检查HTTP响应状态码是否表示成功
0 commit comments