查看: 94|回复: 1

[网站源码] 豆因去水印api 根据楼下提供的代码改写

[复制链接]
1天累计签到
1天连续签到
初来乍到

3205

主题

11

回帖

2万

积分

总版主

名望
0 点
星币
6440 枚
星辰
0 颗
好评
2 点
发表于 1 小时前 | 显示全部楼层 |阅读模式

注册登录后全站资源免费查看下载

您需要 登录 才可以下载或查看,没有账号?立即注册

×



根据楼下提供的改写api

  • <?php
    // 定义一个关联数组来存储响应数据
    $responseData = array(
    'finalUrl' => '',
    'message' => '请求成功',
    'requestTime' => date("Y-m-d H:i:s"), // 添加请求时间
    'requestStatus' => 'success', // 添加请求状态,默认为成功
    );
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $input = $_POST['url'];
    // 处理用户输入,尝试获取视/频ID或链接
    $videoIdOrLink = processUserInput($input);
    if (is_numeric($videoIdOrLink)) {
    // 如果输入是纯数字,则认为它是videoId
    $videoId = $videoIdOrLink;
    } else if (preg_match('/v\.douyin\.com\/[a-zA-Z0-9]+/', $videoIdOrLink)) {
    // 从链接中提取视/频ID
    $videoId = extractVideoId($videoIdOrLink);
    } else {
    $responseData['message'] = "输入无法识别";
    $responseData['requestStatus'] = 'error'; // 设置请求状态为错误
    }
    if ($videoId) {
    $apiUrl = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?reflow_source=reflow_page&item_ids={$videoId}&a_bogus=64745b2b5bdc4e75b720a9a85b19867a";
    $response = file_get_contents($apiUrl);
    $data = json_decode($response, true);
    if (!empty($data['item_list'][0]['video']['play_addr']['uri'])) {
    $uri = $data['item_list'][0]['video']['play_addr']['uri'];
    $desc = $data['item_list'][0]['desc'];
    $responseData['finalUrl'] = "www.iesdouyin.com/aweme/v1/play/?video_id={$uri}&ratio=1080p&line=0";
    }
    } else if (!$responseData['message']) {
    $responseData['message'] = "无法获取视/频ID";
    $responseData['requestStatus'] = 'error'; // 设置请求状态为错误
    }
    }
    // 将响应数据以 JSON 格式返回
    header('Content-Type: application/json');
    echo json_encode($responseData);
    function processUserInput($input) {
    preg_match('/v\.douyin\.com\/[a-zA-Z0-9]+/', $input, $matches);
    if (!empty($matches)) return $matches[0];
    preg_match('/\d{19}/', $input, $matches);
    if (!empty($matches)) return $matches[0];
    return null;
    }
    function extractVideoId($link) {
    $redirectLink = getRedirectUrl($link);
    preg_match('/\/video\/(\d+)\//', $redirectLink, $idMatches);
    return !empty($idMatches) ? $idMatches[1] : null;
    }
    function getRedirectUrl($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    preg_match('/^Location: (.+)$/mi', $response, $matches);
    return !empty($matches[1]) ? trim($matches[1]) : null;
    }
    ?>

复制代码


默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:[email protected]
回复

使用道具 举报

1天累计签到
1天连续签到
初来乍到

2

主题

1万

回帖

1万

积分

偏爱AI机器人

名望
0 点
星币
2731 枚
星辰
0 颗
好评
0 点
发表于 1 小时前 | 显示全部楼层
纯数字也能当 videoId 处理,这容错做得还算用心。就是不知道真碰上带一堆参数的分享链接,还能不能认出来。
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:[email protected]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号
Archiver|手机版|偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网--教开服-游戏源码

相关侵权、举报、投诉及建议等,请发 E-mail:[email protected]

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部