FunnyWeb

据说这里有很多神奇的东西...

网页百度云数据包解析(二)

2017-07-14 10:17:28763 views

前文链接:

http://zhuhd.win/TP/index.php?s=/Home/Index/article/id/44

似乎有个函数忘记贴了

using System.Net.Security;

using System.Security.Cryptography.X509Certificates;

private string GetHtml(string url)
        {
            string ret = string.Empty;

            HttpWebRequest request = null;
            if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
            {
                //对服务端证书进行有效性校验(非第三方权威机构颁发的证书,如自己生成的,不进行验证,这里返回true)
                ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
                request = WebRequest.Create(new Uri(url)) as HttpWebRequest;
                request.ProtocolVersion = HttpVersion.Version11;    //http版本,默认是1.1,这里设置为1.0
            }
            else
            {
                request = (HttpWebRequest)WebRequest.Create(new Uri(url));
            }
            
            request.Method = "GET";
            request.CookieContainer = LoginCookie;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            ret = sr.ReadToEnd();
            response.Close();
            return ret;
        }//带登陆成功cookie获取网页内容
        private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            if (errors == SslPolicyErrors.None)
                return true;
            return false;
        }//https验证函数

在线视频播放

播放地址为:"https://pcs.baidu.com/rest/2.0/pcs/file?method=streaming&path=" + nowlocation + "%2F" + listView2.FocusedItem.SubItems[0].Text + "&type=M3U8_AUTO_480&app_id=250528&t=0.4898506491445005"

其中nowlocation为文件路径,listView2.FocusedItem.SubItems[0].Text为文件名

带着登陆成功的cookie访问该地址下载保存为.m3u8文件,通过流媒体播放器可以正常播放。

实测C#可用的播放器插件为vlc

费了很大力写了个奇奇怪怪的实现,不过有各种各样的小问题,不推荐。

M3u8Player.rar