)
var apilog = c.C.Log.Base(`api`)
-var api_limit = limit.New(1, 2000, 30000) //频率限制1次/2s,最大等待时间30s
+var api_limit = limit.New(2, 1000, 30000) //频率限制2次/s,最大等待时间30s
type GetFunc struct {
*c.Common
Roomid := strconv.Itoa(c.Roomid)
{ //使用其他api
- reqi := c.Common.ReqPool.Get()
- defer c.Common.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.Common.ReqPool.Get()
+ defer c.Common.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom?room_id=" + Roomid,
Header: map[string]string{
return true
})
- reqi := t.Common.ReqPool.Get()
- defer t.Common.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := t.Common.ReqPool.Get()
+ defer t.Common.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?no_playurl=0&mask=1&qn=0&platform=web&protocol=0,1&format=0,2&codec=0,1&room_id=" + Roomid,
Header: map[string]string{
return true
})
- reqi := t.Common.ReqPool.Get()
- defer t.Common.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := t.Common.ReqPool.Get()
+ defer t.Common.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?no_playurl=0&mask=1&qn=" + strconv.Itoa(t.Live_qn) + "&platform=web&protocol=0,1&format=0,2&codec=0,1&room_id=" + Roomid,
Header: map[string]string{
return true
})
- reqi := c.Common.ReqPool.Get()
- defer c.Common.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.Common.ReqPool.Get()
+ defer c.Common.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuInfo?type=0&id=" + Roomid,
Header: map[string]string{
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://api.live.bilibili.com/xlive/web-room/v1/index/getDanmuMedalAnchorInfo?ruid=" + uid,
Header: map[string]string{
return true
})
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/general-interface/v1/rank/getPopularAnchorRank?uid=` + strconv.Itoa(c.Uid) + `&ruid=` + strconv.Itoa(c.UpUid) + `&clientType=2`,
Header: map[string]string{
return true
})
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/app-room/v2/guardTab/topList?roomid=` + Roomid + `&page=1&ruid=` + strconv.Itoa(c.UpUid) + `&page_size=29`,
Header: map[string]string{
Cookie[k.(string)] = v.(string)
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.bilibili.com/x/space/acc/info?mid=` + strconv.Itoa(UpUid) + `&token=&platform=web&jsonp=jsonp`,
Proxy: c.C.Proxy,
return true
})
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.bilibili.com/x/web-interface/nav`,
Header: map[string]string{
var img_url string
var oauth string
{ //获取二维码
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- r := reqi.Item.(*reqf.Req)
+ r := c.ReqPool.Get()
+ defer c.ReqPool.Put(r)
if e := r.Reqf(reqf.Rval{
Url: `https://passport.bilibili.com/qrcode/getLoginUrl`,
Proxy: c.Proxy,
return
}
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- r := reqi.Item.(*reqf.Req)
+ r := c.ReqPool.Get()
+ defer c.ReqPool.Put(r)
if e := r.Reqf(reqf.Rval{
Url: `https://passport.bilibili.com/qrcode/getLoginInfo`,
PostStr: `oauthKey=` + oauth,
{ //获取牌子列表
var medalList []J.GetMyMedals_Items
for pageNum := 1; true; pageNum += 1 {
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- r := reqi.Item.(*reqf.Req)
+ r := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(r)
if e := r.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/app-ucenter/v1/user/GetMyMedals?page=` + strconv.Itoa(pageNum) + `&page_size=10`,
Header: map[string]string{
})
{ //获取
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- r := reqi.Item.(*reqf.Req)
+ r := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(r)
if e := r.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/live_user/v1/UserInfo/get_weared_medal`,
Header: map[string]string{
}
}
{ //切换牌子
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- r := reqi.Item.(*reqf.Req)
+ r := c.ReqPool.Get()
+ defer c.ReqPool.Put(r)
if e := r.Reqf(reqf.Rval{
Url: post_url,
PostStr: post_str,
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/WebGetSignInfo`,
Header: map[string]string{
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/web-ucenter/v1/sign/DoSign`,
Header: map[string]string{
}
for _, roomid := range roomIdList { //获取
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/live/getRoomKanBanModel?roomid=` + roomid,
Header: map[string]string{
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/web-room/v1/gift/bag_list?t=` + strconv.Itoa(int(sys.Sys().GetMTime())) + `&room_id=` + strconv.Itoa(c.C.Roomid),
Header: map[string]string{
return true
})
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/revenue/v1/wallet/getStatus`,
Header: map[string]string{
return true
})
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/revenue/v1/wallet/getRule`,
Header: map[string]string{
return true
})
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin`,
PostStr: url.PathEscape(post_str),
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.bilibili.com/x/web-interface/history/cursor?type=live&ps=10`,
Header: map[string]string{
return
}
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
-
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/web-room/v1/index/roomEntryAction`,
PostStr: fmt.Sprintf("room_id=%d&platform=pc&csrf_token=%s&csrf=%s&visit_id=", roomId, csrf, csrf),
return
} //超额请求阻塞,超时将取消
- reqi := c.ReqPool.Get()
- defer c.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.ReqPool.Get()
+ defer c.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: fmt.Sprintf("https://api.live.bilibili.com/xlive/general-interface/v1/rank/getOnlineGoldRank?ruid=%d&roomId=%d&page=1&pageSize=10", c.UpUid, c.Roomid),
return true
})
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
for pageNum := 1; true; pageNum += 1 {
if err := req.Reqf(reqf.Rval{
Url: `https://api.live.bilibili.com/xlive/web-ucenter/user/following?page=` + strconv.Itoa(pageNum) + `&page_size=10`,
Roomid := strconv.Itoa(Roomid_int)
{ //使用其他api
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://api.live.bilibili.com/xlive/web-room/v1/dM/gethistory?roomid=" + Roomid,
Header: map[string]string{
} //超额请求阻塞,超时将取消
{ //使用其他api
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
Cookie := make(map[string]string)
c.C.Cookie.Range(func(k, v interface{}) bool {
return true
}
- reqi := c.C.ReqPool.Get()
- defer c.C.ReqPool.Put(reqi)
- req := reqi.Item.(*reqf.Req)
+ req := c.C.ReqPool.Get()
+ defer c.C.ReqPool.Put(req)
if err := req.Reqf(reqf.Rval{
Url: "https://www.bilibili.com",
Proxy: c.C.Proxy,