support 2 url patterns for huajiao

This commit is contained in:
kira1928 committed 2023-01-13 18:22:20 +09:00
1 parent 4cc13334d8
commit a113be3096
1 file changed
+29 -7
+29 -7
View File
@@ -43,11 +43,32 @@ func (l *Live) getUid() (string, error) {
return l.uid, nil
}
if uid := utils.Match1(`https?:\/\/www.huajiao.com\/user\/(\d+)`, l.GetRawUrl()); uid == "" {
return "", live.ErrRoomUrlIncorrect
} else {
var uid string
if uid = utils.Match1(`https?:\/\/www.huajiao.com\/user\/(\d+)`, l.GetRawUrl()); uid != "" {
// nothing to do
} else if liveId := utils.Match1(`https?:\/\/www.huajiao.com\/l\/(\d+)`, l.GetRawUrl()); liveId != "" {
resp, err := requests.Get(l.GetRawUrl(), live.CommonUserAgent)
if err != nil {
return "", err
}
if resp.StatusCode != http.StatusOK {
return "", live.ErrRoomNotExist
}
body, err := resp.Text()
if err != nil {
return "", err
}
uid = utils.Match1(`<span class="js-author-id">(\d+)</span>`, body)
// if uid == "" {
// TODO: error log
// }
}
if uid != "" && uid != "0" {
l.uid = uid
return l.uid, nil
} else {
return "", live.ErrRoomUrlIncorrect
}
}
@@ -88,10 +109,11 @@ func (l *Live) GetInfo() (info *live.Info, err error) {
}
info = &live.Info{
Live: l,
HostName: "",
RoomName: "",
Status: false,
Live: l,
HostName: "",
RoomName: "",
Status: false,
CustomLiveId: "huajiao/" + uid,
}
nickname, err := l.getNickname(uid)
if err != nil {