Eswink Eswink
  • 首页
  • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
  • 注册
    登录
现在登录。
  • 首页
  • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
首页 代码发布 通用网盘下载链接检测_Serverless云函数应用

通用网盘下载链接检测_Serverless云函数应用

小伍同学 2022-05-08 16:16:39 本文共2147个字,预计阅读时间需要6分钟
1 星2 星3 星4 星5 星 (已有2 点评, 平均得分: 5.00)您还未点评
Loading...

最近在使用极强检测时看到了有检测蓝秦云网盘链接的的API,我就想着自己写一个API接口来用用。之前我们使用了腾讯云的云函数服务,我们这里接着整就行了。

通用网盘下载链接检测_Serverless云函数应用图片

如果有对云函数服务不清楚的,可以前去看我的这篇文章:《API接口上云|Serverless云函数服务部署实战》

云盘检测

这里我们以百度网盘和蓝秦云盘为例,其他网盘也是同理,照着葫芦画瓢。我这里以PHP代码为例,有兴趣地用Python或者Node.js写也行。

蓝秦云

首先来个简单的蓝秦云网盘,我们首先找一个蓝秦云网盘的链接,实在找不到就自己上传一个文件到蓝秦云网盘,然后复制分享链接到浏览器中打开,并在云函数的日志中查看获取到的内容。

通用网盘下载链接检测_Serverless云函数应用图片1

不过我们需要注意的是,分享的链接有两种,一种无密码另一种带有分享密码,所以只做一个判断会显得单一。为了更好地符合逻辑性,我这里选择判断文件失效的情况。

链接失效

蓝秦云的链接失效包含两种情况:

  • 来晚啦...文件取消分享了
  • 文件不存在,或已删除

这两种情况,我们只需要取其中的关键词即可,例如「取消」、「不存在」,获取到这两个关键词的任意一个即可判断蓝秦云分享链接失效。

判断代码

function lanzou_check( $url ) {
    $content = curl_file_get_contents( $url );
    $data = [];
    if ( strpos( $content, '不存在' ) || strpos($content,'取消')) {
            $data = array(
            'code' => '404',
            'pan_type' => 'lanzou', 
            'msg'=>'Error',
            'isexist'=>'false'
        );

    }
    else{
            $data = array(
            'code' => '200',
            'pan_type' => 'lanzou',
            'msg'=>'success',
            'isexist'=>'true'
        );
    }
    return $data;
}

代码如上,其中curl_file_get_contents需要各位自己去封装下,或者用file_get_content也行,不过这个函数有点风险,如果是利用服务器搭建的api不推荐用这个函数。

百度云盘

百度云盘的分享链接就有一点特殊,他的分享链接页面其实存在一个跳转,不过我们在浏览器中一般是察觉不到的。

例如我这里有个百度云盘的分享链接:

https://pan.baidu.com/s/1WsIU8KU3ZZGrHerJNSDC3g

获取到的页面内容其实是以下内容,所以说上面这个链接并不是我们文件的分享链接,下方这个才是。

Redirecting to <a href="/share/init?surl=WsIU8KU3ZZGrHerJNSDC3g">/share/init?surl=WsIU8KU3ZZGrHerJNSDC3g</a>

真正的网盘分享链接其实是:

https://pan.baidu.com/share/init?surl=WsIU8KU3ZZGrHerJNSDC3g

所以在编写的过程中,我们需要两次获取页面内容,才能实现判断效果,这里获取a标签内的链接可以使用正则匹配或者你自己去封装一个get_between函数也行。

//正则匹配代码
$str = '';
$isMatched = preg_match('/(?:[^_]+(?=\.html))|[^>]+(?=<\/a>)/', $str, $matches);
var_dump($isMatched, $matches);
function get_between($input, $start, $end) {
  $substr = substr($input, strlen($start)+strpos($input, $start),
 (strlen($input) - strpos($input, $end))*(-1));
  return $substr;
}

链接失效

  • 啊哦,来晚了,该分享文件已过期
  • 啊哦,你所访问的页面不存在了

判断是否存在「提取码」文字字样即可判断链接是否有效,其他方法也可自编写,不过目前存在验证码,以前有种方法可以绕过,不过现在能不能就不是很清楚了。

判断代码

function baidu_check( $url ) {
    $content = curl_file_get_contents( $url );
    $real_url = get_between($content,'>/','</a>.');
    $content = curl_file_get_contents('https://pan.baidu.com/'.$real_url);
    var_dump($content);
    $data=[];
    if ( strpos( $content, '提取码' ) == false )
    {
            $data = array(
            'code' => '404',
            'pan_type' => 'baidu', 
            'msg'=>'Error',
            'isexist'=>'false'
        );

    }
    else {
            $data = array(
            'code' => '200',
            'pan_type' => 'baidu',
            'msg'=>'success',
            'isexist'=>'true'
        );

    }
    return $data;
}

效果展示

通用网盘下载链接检测_Serverless云函数应用图片2

后续一系列的API将在:「EswinkAPI」平台上线,欢迎各位的到访!

#Serverless#云函数#网盘检测#链接检测
0
小伍同学
一个即将入土的程序猿
赞赏
小伍同学
评论 (0)
返回
    发表评论
猜你喜欢
  • 巧妙应用Docker运行HuggingFace
  • 如何利用GO中的泛型实现客户端分页API
  • SpringCloud分布式组件之玩转Nacos
  • 页面优化:使用JS脚本实现页面链接预加载
  • Easywoole框架实战_封装批量更新数据ORM
小伍同学
一个即将入土的程序猿
130
文章
60
评论
169
获赞
小伍同学
07 1月, 2021
滴滴云新老用户注册关注官方微信即可白嫖余额
Copyright © 2020-2022 Eswink. Designed by nicetheme. 川公网安备 51012202000979号 | 蜀ICP备20002650号-6
当前线路为: 国内线路
本站已安全运行:
本站由酷盾安全提供高防CDN国际线路安全防护服务
友链: Eswink 信息笔记 网站目录 站长新动力 脚本挂机引流赚钱 勇康博客网 龙笑天下 HTTP代理 QYV企业商务咨询 镇北府博客 吾爱漏洞 祭夜の咖啡馆 杭州论坛 龙鳞收录网 KIENG博客 Hackyh‘Blog
在线客服
小伍同学
我们将会在24小时内回复您,如果有急事请联系QQ或者微信
12:01
您好,有任何疑问请与我们联系!
公众号

选择聊天工具: