吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3187|回复: 5
收起左侧

[其他转载] 利用c#.net框架分析百度网盘api数据

[复制链接]
bjszz 发表于 2022-4-18 15:06
https://www.52pojie.cn/thread-1621012-1-1.html


上一篇文章分析了百度网盘官方提供的api,但是官方只提供了转存文件的api,并没有提供获取分享列表的api,有时我们需要获取分享列表后缀文件,来筛选保存对象。
分析百度网盘api,利用浏览器的检查功能,获取不到百度api的接口,需要借助抓包分析工具来获取,
获取工具为,Fiddler Classic,大家都很熟悉,我也不在介绍,我只是给大家分享自己写的c#源码,实现提交,返回的请求。

1、首先要获取到百度网盘bdtoken数据。分析百度网盘的cookie,可以发现,最主要的就是sekey的值,把上一帖子中获取到的sekey加入到cookie中,然后通过
[C#] 纯文本查看 复制代码
  string BDSTOKEN_URL = "https://pan.baidu.com/api/loginStatus?clienttype=0&web=1";

这个链接,通过加入了刚才cookie的get提交方法,然后通过正则就可以获取到bdtoken.

2、写一个递归函数来,提交和获取百度网盘分享文件列表的api接口,通过返回数据判断分析每个文件的后缀。代码为:
[C#] 纯文本查看 复制代码
 public class mulu
    {
        public static bool hdmu(JObject jo,string cookie,string uk,string shareid,string bdtk,bool geshi) {

            if (jo["list"] != null)
            {
                for (int i = 0; i < jo["list"].Count(); i++)
                {

                    var isdir = jo["list"][i]["isdir"].ToString();
                    if (isdir.Equals("1"))
                    {
                        var server_filename = jo["list"][i]["server_filename"].ToString();
                        var path = jo["list"][i]["path"].ToString();
                        string bdapi = "https://pan.baidu.com/share/list?uk=" + uk + "&shareid=" + shareid + "&order=other&desc=1&showempty=0&web=1&page=1&num=100&dir=" + path + "&t=0.049872092412544866&channel=chunlei&web=1&app_id=250528&bdstoken=" + bdtk + "&logid=QTc1M0FFNzczRkI0MTU0RkMxRkE4QUI1Qjk1QzYyQkI6Rkc9MQ==&clienttype=0";
                        var bdhtml = method.GetUrbd(bdapi, "utf-8", cookie);
                        JObject jo1 = (JObject)JsonConvert.DeserializeObject(bdhtml);
                        return hdmu(jo1, cookie, uk, shareid, bdtk, geshi);
                    }
                    else
                    {
                        var server_filename = jo["list"][i]["server_filename"].ToString();
                        string[] balance = new string[] { "doc", "docx", "dot", "wps", "rtf", "pdf", "xls", "xlsx", "et", "ppt", "xlt", "pptx", "pps","zip","rar","7z" };
                        if (server_filename.Contains("."))
                        {
                            var sfile = server_filename.Split('.')[1];
                            for (int j = 0; j < balance.Length; j++)
                            {
                                if (balance[j] == sfile)
                                {
                                    geshi = true;
                                    return geshi;
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            else { return false; }
            return geshi;
        }
    }

代码中包含了通过抓包工具获取的百度网盘api获取文件列表接口,通过判断语句就可以根据后缀来分来筛选了。
分析比较简单,通过封账就可以和帖子组合使用了。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ljt0606 发表于 2022-4-18 16:22
感谢楼主无私分享,万分感谢~~~
wtuqi 发表于 2022-4-29 13:26
wtuqi 发表于 2022-6-12 11:30
日比兔 发表于 2022-7-5 23:16
666谢谢楼主分享。。。。
live5566 发表于 2022-7-27 18:33
谢谢楼主分享啊 谢谢啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-28 22:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表