精华0
阅读权限250
最后登录2026-11-10
在线时间72 小时

总版主
名望- 0 点
星币- 7642 枚
星辰- 0 颗
好评- 2 点
|
注册登录后全站资源免费查看下载
您需要 登录 才可以下载或查看,没有账号?立即注册
×
自己手写原创块守图片集解析源代码
- <?php
$url = @$_GET['url'];
$locs = get_headers($url, true) ['Location'][1];
// echo($locs);
preg_match('/photoId=(.*?)\&/', $locs, $matches);
// var_dump($matches[1]);
$headers = array('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','Cookie: did=web_9bceee20fa5d4a968535a27e538bf51b; didv=1655992503000;',
'Referer: ' . $locs, 'Content-Type: application/json');
$post_data = '{"photoId": "' . str_replace(['video/', '?'], '', $matches[1]) . '","isLongVideo": false}';
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_URL, 'https://v.m.chenzhongtech.com/rest/wd/photo/info?kpn=KUAISHOU&captchaToken=');
curl_setopt($curl, CURLOPT_NOBODY, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLINFO_HEADER_OUT, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
$data = curl_exec($curl);
curl_close($curl);
$json = json_decode($data, true);
// var_dump($json['atlas']['list']);
for($i=0;$i<count($json['atlas']['list']);$i++){
$img[$i] = 'https://p2.a.yximgs.com'.$json['atlas']['list'][$i];
}
// var_dump( $json['shareInfo']['shareTitle']);
// var_dump( 'https://p2.a.yximgs.com'.$json['atlas']['music']);
// var_dump($img);
if ($json) {
$url = $img;
$title = $json['shareInfo']['shareTitle'];
$cover = 'https://p2.a.yximgs.com'.$json['atlas']['music'];
$return = array('nickname' => $title, 'video_url' => $url, 'music' => $cover);
var_dump($return);
return result(201, $return);
} else {
return result(500, '解析出错!');
}
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( "User-Agent: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"));
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];
}
function httpRequest($url, $method = 'POST', $postfields = null, $headers = array()) {
$method = strtoupper($method);
$ci = curl_init();
curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($ci, CURLOPT_TIMEOUT, 30);
curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1);
switch ($method) {
case "POST":
curl_setopt($ci, CURLOPT_POST, true);
if (!empty($postfields)) {
$tmpdatastr = is_array($postfields) ? http_build_query($postfields) : $postfields;
curl_setopt($ci, CURLOPT_POSTFIELDS, $tmpdatastr);
}
break;
default:
curl_setopt($ci, CURLOPT_CUSTOMREQUEST, $method);
break;
}
$ssl = preg_match('/^https:\/\//i', $url) ? TRUE : FALSE;
curl_setopt($ci, CURLOPT_URL, $url);
if ($ssl) {
curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, FALSE);
}
curl_setopt($ci, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ci, CURLOPT_MAXREDIRS, 2);
curl_setopt($ci, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ci, CURLINFO_HEADER_OUT, true);
$response = json_decode(curl_exec($ci), true);
$requestinfo = curl_getinfo($ci);
$http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
$location = curl_getinfo($ci, CURLINFO_EFFECTIVE_URL);
curl_close($ci);
return array('location' => $location, 'response' => $response, 'requestinfo' => $requestinfo);
}
function result($errno = 0, $data = '') {
header("Content-type: application/json;charset=utf-8");
$errno = intval($errno);
$result = array('code' => $errno, 'message' => $data);
return json_encode($result, 320);
}
?>
复制代码
直接可以使用
补充内容 (2022-8-20 09:29):
效果演示 源码下载 源码地址:https://github.com/surmoun/Short_Video-API
补充内容 (2022-8-20 09:58):
演示站:http://api.9lyun.cn/jxindex.php?url=https://v.kuaishou.com/rhc609
可能比较卡 服务器比较垃圾
|
|