抖音无水印解析PHP源码
0
1414
2019年9月4日
抖音无水印解析PHP源码
仅限学习使用
输出为标准的格式化json数据
ajax直接调用即可
原生的ajax的调用方法看底部
<?php
$url = @$_GET['url'];
if (strstr($url,"douyin.com")) {
//获取301跳转真实地址
function getrealurl($url){ $header = get_headers($url,1);
if (strpos($header[0],'301') || strpos($header[0],'302'))
{if(is_array($header['Location'])) {return $header['Location'][count($header['Location'])-1];
}else{return $header['Location'];}}else{return $url;}};
$url = getrealurl($url);
//模拟苹果手机访问
$UserAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1';
// 截取ID
function GetBetween($content,$start,$end) {
$r = explode($start, $content);
if (isset($r[1])) {
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
$b = 'https://www.iesdouyin.com/share/video/';
$c = '/?';
$id = GetBetween($url,$b,$c);
$d ='https://api-hl.amemv.com/aweme/v1/aweme/detail/?aid=1128&app_name=aweme&version_code=251&aweme_id='.$id;
//curl
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $d);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_ENCODING, '');
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($curl);
$a = $data;
curl_close($curl);
header('Content-type:text/json');
$Array = json_decode($a,true);
$name = $Array["aweme_detail"]["author"]["nickname"];
$title = $Array["aweme_detail"]["share_info"]["share_title"];
$videourl= $Array["aweme_detail"]["video"]["play_addr"]["url_list"][0];
$cover = $Array["aweme_detail"]["video"]["origin_cover"]["url_list"][0];
$des = $Array["aweme_detail"]["desc"];
if($videourl==""){
$status = "0";
}else{
$status="1";
}
$Json = array('status'=>$status,'name'=>$name,'title'=>$title,'des'=>$des,'cover'=>$cover,'videourl'=>$videourl);
$turl=json_encode($Json,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
echo stripslashes($turl);
} else
{
echo '请输入抖音分享的地址,如:http://v.douyin.com/eRcTtj/';
}
?>
<script>
function setValue()
{
var v = document.getElementById("input1").value;//取得参数
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
if(!reg.test(v)){md.showWarning('top','right');}
else{ var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/douyin/?url="+v,false);
xmlhttp.send();
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;//获取数据
var jsonObj = JSON.parse(xmlhttp.responseText); // 初始化!!!
//document.getElementById("input1").value= jsonObj.url; //注释解析
document.getElementById("v1").src = jsonObj.url;
document.getElementById("media").load();
md.showNotification('top','right');//
}
}
</script>
网站输出视频必须是https协议
本文转自《抖音无水印解析PHP源码》
这个主题简介啊