zaxtyson / LanZouCloud-API

蓝奏云网盘第三方 API
MIT License
735 stars 114 forks source link

get_file_info_by_url方法失效,导致无法下载及临时解决办法 #74

Closed nhnhwsnh closed 2 years ago

nhnhwsnh commented 2 years ago

问题描述:down_dir_by_url, down_file_by_url等下载方法均失效 解决思路:

手动请求了https://wwu.lanzoui.com/fn?UzVa.......mB 地址后,服务器返回内容如下

        var ajaxdata = 'xxx';
        //var ispostdowns = '';
        var websignkey = 'xxxx';
        var websign = '2';
        $.ajax({
            type : 'post',
            url : '/ajaxm.php',
            data : { 'action':'downprocess','signs':ajaxdata,'sign':'xxxxxxxxxxxxxxxxxxxxxxxAJpU2BXZg_c_c','ves':1,'websign':websign,'websignkey':websignkey },
            //data : { 'action':'downprocess','sign':sign,'sign':sign,'ves':1},
            dataType : 'json',
            success:function(msg){
......

定位到 .........\site-packages\lanzou\api\core.py的get_file_info_by_url方法,修改相应代码

在514行后,插入如下内容

ajaxdata = re.search(r"var ajaxdata\s*=\s*'(.+?)';", first_page).group(1)
websign = re.search(r"var websign\s*=\s*'(.+?)';", first_page).group(1)
websignkey = re.search(r"var websignkey\s*=\s*'(.+?)';", first_page).group(1)
post_data = {'action': 'downprocess', 'signs': ajaxdata, 'sign': sign, 'ves': 1, 'websign': websign,
             'websignkey': websignkey}

结果:截止提交issue时,修改过的代码,可以下载~

zaxtyson commented 2 years ago

能给一些测试用的文件链接么,我测试了几个链接和文件夹,似乎都下载成功了,没法复现🤔。 在我测试文件链接中,first_page 页面并没有出现 var websign ,可能是官方加了什么验证,达到什么条件才能触发

nhnhwsnh commented 2 years ago

https://wwu.lanzoui.com/b030us25e密码cfr3

目前,我这边下载的内容多是txt小说,基本都有websign的(大于90%)

您说的,可能是在某些条件下触发的

nhnhwsnh commented 2 years ago

https://wwu.lanzoui.com/b030us25e密码cfr3

目前,我这边下载的内容多是txt小说,基本都有websign的(大于90%)

您说的对,可能是在某些条件下触发的

可以这样解决

if 'websign' in first_page:

    websign= ....

    .....

else:

   sign=.....

当然这只是个建议

------------------ 原始邮件 ------------------ 发件人: "zaxtyson/LanZouCloud-API" @.>; 发送时间: 2022年3月30日(星期三) 下午3:55 @.>; @.**@.>; 主题: Re: [zaxtyson/LanZouCloud-API] get_file_info_by_url方法失效,导致无法下载及临时解决办法 (Issue #74)

能给一些测试用的文件链接么,我测试了几个链接和文件夹,似乎都下载成功了,没法复现🤔。 在我测试文件链接中,first_page 页面并没有出现 var websign ,可能是官方加了什么验证,达到什么条件才能触发

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

zaxtyson commented 2 years ago

确实URL不一样,后面跟了一个 webpage 参数: https://pan.lanzouo.com/ipy3f01xq1da?webpage=U2IHZlw1DmIIZgNtBWZdals4BjADIFRgATNSYF01BDMBNgVrWjcAKFI1 去掉这个参数就需要密码,而且链接有时效性,不知道官方又在搞什么🤷‍♂️