轻快云qingk.cn动态源代理的方法

以安康的qingk直播为栗子,山东qingk的直播清晰度并不高,主要还是以地市级的电视台为主,可以用于学习代理,由于官方的防盗链性质,随时可能改接口,不保证一直有效。地址如下:

http://akzhcs.qingk.cn/videolive-info/buwpqrtdpbaxscsaacbqrtfsqtuctuwe/53985bf59dd84ab6a9df2d2225d88b71/4ae571b2a1144cdf82183422c61f821b

其中

  • appid 为 buwpqrtdpbaxscsaacbqrtfsqtuctuwe
  • programId 为 4ae571b2a1144cdf82183422c61f821b

首先需要知道这两个参数,用在代理方法中的参数

《轻快云qingk.cn动态源代理的方法》
代理源码如下(C#版本,可以作为参考自行用其他语言编写):
第一步,生成签名(MD5加密):

string timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");//时间格式类似:20180422172745
string udid = "IoonvCITytAlFFNooRRc4HSTp3DnfucZ";
string sign = ExtHelper.MD5.EncryptToLower("sign" + appid + udid + timestamp + "sign");

第二步,将参数拼成参数字符串

string postdata=string.Format("appid={0}&v=1.0.0.0&os=ios&terminal=2&channel=&udid={1}×tamp={2}&token=&sign={3}&page=&step=&programId={4}&programType=liveVideo", appid, udid, timestamp, sign, programId);

第三步,调接口获取返回信息(POST方式)

HttpItem item = new HttpItem();
item.Url = "https://api.qingk.cn/jkplatform/v1/mediaPlayer/getPlayerUrl";
item.Method = "POST";
item.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A366 Safari/600.1.4";
item.Encoding = Encoding.UTF8;
item.ContentType = "application/x-www-form-urlencoded";
item.PostData = postdata
item.Referer = "http://akzhcs.qingk.cn/videolive-info";
HttpRequest req = new HttpRequest(item);
HttpResponse res = req.GetResponseHtml();
string html = res.Html;

第四步:提取返回信息中的 SDUrl 字段,就是直播源地址了

string playUrl = JsonConv.TryParseToJsonObject(html).NextObject("results").NextObject("body")["SDUrl"].ToString();

其他

最后的地址为:http://qkqxzb.qingk.cn/live/anknews/index.m3u8?k=32fd3a595b522afe&t=1541913552 这种形式的,当然后面的k和t参数是有时效性的..
以上 udid 参数怎么取没说明白,还有 ExtHelper.MD5.EncryptToLower()等几个自定义的函数没有提供,基本可以明白程序干了什么。对轻快云qingk网站的动态直播源代理有很大帮助..

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

  1. 贵安服贸 说道:

    看起来很厉害的样子

  2. 子午书屋 子午书屋 说道:

    防盗链,还不会搞

  3. fy789 说道:

    小白,不懂

  4. MTPAS MTPAS 说道:

    厉害了