PHP 实现抖音去水印
2022/5/24 5:19:52
本文主要是介绍PHP 实现抖音去水印,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
废话不多说,直接上代码!!!
1 <?php 2 $url = $_GET['url']; 3 //获取视频url 4 $url = get_redirect_url($url); 5 //获取视频ID 6 $str = dirname($url); 7 $id = substr($str,strripos($str,'video')+6); 8 //调用抖音官方API 9 $str = file_get_contents('https://www.douyin.com/web/api/v2/aweme/iteminfo/?item_ids='.$id); 10 //将返回的json数据转为数组 11 $data = json_decode($str,true); 12 //获取有水印的视频地址 13 $url = $data['item_list'][0]['video']['play_addr']['url_list'][0]; 14 //将playvm替换为play,从而获取无水印的视频地址 15 $url = str_replace('playwm','play',$url); 16 //获取重定向后的真实地址 17 $video_url = get_redirect_url($url); 18 echo "<a href='$video_url' target='_blank'>$video_url</a>"; 19 20 function get_redirect_url($url) { 21 $ch = curl_init(); 22 curl_setopt($ch, CURLOPT_URL, $url); 23 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 24 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 25 curl_setopt($ch, CURLOPT_HTTPHEADER, array( 26 'Accept: */*', 27 'Accept-Encoding: gzip', 28 'Connection: Keep-Alive', 29 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)' 30 )); 31 curl_setopt($ch, CURLOPT_HEADER, true); 32 curl_setopt($ch, CURLOPT_NOBODY, 1); 33 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 34 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 35 $ret = curl_exec($ch); 36 curl_close($ch); 37 preg_match("/Location: (.*?)\r\n/iU",$ret,$location); 38 return $location[1]; 39 }
原理可参考:https://baijiahao.baidu.com/s?id=1710928885019968429&wfr=spider&for=pc
函数可参考:https://blog.csdn.net/weixin_29924799/article/details/116287105
这篇关于PHP 实现抖音去水印的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享