1
0
mirror of https://github.com/wbt5/real-url.git synced 2025-07-29 21:00:30 +08:00

Compare commits

..

3 Commits

Author SHA1 Message Date
wbt5
cd9e41e505
优化代码 17live(#22) 2021-11-13 14:33:31 +08:00
wbt5
4b1a0a2f80
优化代码 羚萌直播 2021-11-13 13:54:32 +08:00
wbt5
14e2cf7817
优化代码 体育直播TV(#166)
-添加头
-优化代码
2021-11-13 00:35:35 +08:00
3 changed files with 26 additions and 11 deletions

View File

@ -7,21 +7,26 @@ import requests
class Live17:
def __init__(self, rid):
self.rid = rid
"""
# 可能需要挂代理。
# self.proxies = {
# "http": "http://xxxx:1080",
# "https": "http://xxxx:1080",
# }
Args:
rid:
"""
self.rid = rid
self.BASE_URL = 'https://api-dsa.17app.co/api/v1/lives/'
def get_real_url(self):
try:
# response = requests.get(url='https://api-dsa.17app.co/api/v1/lives/' + self.rid, proxies=self.proxies).json()
response = requests.get(url='https://api-dsa.17app.co/api/v1/lives/' + self.rid).json()
real_url_default = response.get('rtmpUrls')[0].get('url')
# res = requests.get(f'{self.BASE_URL}{self.rid}', proxies=self.proxies).json()
res = requests.get(f'{self.BASE_URL}{self.rid}').json()
real_url_default = res.get('rtmpUrls')[0].get('url')
real_url_modify = real_url_default.replace('global-pull-rtmp.17app.co', 'china-pull-rtmp-17.tigafocus.com')
real_url = [real_url_modify, real_url_default]
except:
except Exception:
raise Exception('直播间不存在或未开播')
return real_url

View File

@ -10,12 +10,13 @@ class LM:
def __init__(self, rid):
self.rid = rid
self.BASE_URL = 'https://www.51lm.tv/live/room/info/basic'
def get_real_url(self):
roominfo = {'programId': self.rid}
def g(d):
return hashlib.md5((d + '#' + urlencode(roominfo) + '#Ogvbm2ZiKE').encode('utf-8')).hexdigest()
return hashlib.md5(f'{d}#{urlencode(roominfo)}#Ogvbm2ZiKE'.encode('utf-8')).hexdigest()
lminfo = {
'h': int(time.time()) * 1000,
@ -27,9 +28,9 @@ class LM:
'w': 'a710244508d3cc14f50d24e9fecc496a'
}
u = g(urlencode(lminfo))
lminfo = 'G=' + u + '&' + urlencode(lminfo)
lminfo = f'G={u}&{urlencode(lminfo)}'
with requests.Session() as s:
res = s.post('https://www.51lm.tv/live/room/info/basic', json=roominfo, headers={'lminfo': lminfo}).json()
res = s.post(self.BASE_URL, json=roominfo, headers={'lminfo': lminfo}).json()
code = res['code']
if code == 200:
status = res['data']['isLiving']

View File

@ -10,16 +10,25 @@ import requests
class ZhiBotv:
def __init__(self, rid):
"""
中国体育&新传宽频直播间地址如https://v.zhibo.tv/10007
Args:
rid:房间号
"""
self.rid = rid
self.params = {
'token': '',
'roomId': self.rid,
'angleId': '',
'lineId': '',
'definition': 'hd',
'statistics': 'pc|web|1.0.0|0|0|0|local|5.0.1',
}
self.BASE_URL = 'https://rest.zhibo.tv/room/get-pull-stream-info-v430'
self.HEADERS = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/95.0.4638.69 Safari/537.36 ',
'Referer': 'https://www.zhibo.tv/live/'
}
def get_real_url(self):
@ -29,7 +38,7 @@ class ZhiBotv:
:return: url
"""
with requests.Session() as s:
res = s.get('https://rest.zhibo.tv/room/get-pull-stream-info-v430', params=self.params).json()
res = s.get(self.BASE_URL, params=self.params, headers=self.HEADERS).json()
if 'hlsHUrl' in res['data']:
url = res['data'].get('hlsHUrl')
if url: