PHP 实现抖音去水印
<?php $url = $_GET['url']; //获取视频url $url = get_redirect_url($url); //获取视频ID $str = dirname($url); $id = substr($str,strripos($str,'video')+6); //调用抖音官方API $str = file_get_contents('https://www.douyin.com/web/api/v2/aweme/iteminfo/?item_ids='.$id); //将返回的json数据转为数组 $data = json_decode($str,true); //获取有水印的视频地址 $url = $data['item_list'][0]['video']['play_addr']['url_list'][0]; //将playvm替换为play,从而获取无水印的视频地址 $url = str_replace('playwm','play',$url); //获取重定向后的真实地址 $video_url = get_redirect_url($url); echo "<a href='$video_url' target='_blank'>$video_url</a>"; function get_redirect_url($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Accept: */*', 'Accept-Encoding: gzip', 'Connection: Keep-Alive', 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' )); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $ret = curl_exec($ch); curl_close($ch); preg_match("/Location: (.*?)\r\n/iU",$ret,$location); return $location[1]; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了