我有Nowvideo和其他一些视频主机视频链接。如何检查视频是否已删除?
http://www.nowvideo.co/video/cd2950fb2561c //Working link
http://www.nowvideo.sx/video/72de6ef0d8519 // Not work
我的代码
function check_url($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
$headers = curl_getinfo($ch);
curl_close($ch);
return $headers['http_code'];
}
$url = "http://www.nowvideo.sx/video/72de6ef0d8519";
$check_url_status = check_url($url);
if ($check_url_status == '200')
echo "Link Works";
else
echo "Broken Link";
?>
此返回" Link Works"。但此链接视频已删除。但域名工作 如何才能找到链接视频被删除?
答案 0 :(得分:2)
现在,视频有一个可用于检查此功能的API。但是根据the documentation,没有检查是否有先前可用的东西,并且已被删除,只检查它是否当前可用。
所以你可以使用链接
http://www.nowvideo.sx/api-v2/alive.php?link=http://www.nowvideo.sx/video/[yourVideoId]
获取视频是否存在的json响应:
{"resultCode":"200","message":"OK","result":1,"data":null}
或(我猜是因为它没有在文档中指定)
{"resultCode":"404","message":"NOT_FOUND","result":0,"data":null}
答案 1 :(得分:1)
您可能无法使用HTTP标头来确定网页是否包含视频。您可以做的是在HTML页面中搜索错误消息(或使用可能也可用的API)。试试这个:
$data = curl_exec($ch);
$novideo = "This file no longer exists on our servers."
if(strpos($data, $novideo) === FALSE) {
echo "Link Works";
}
else {
echo "Broken Link";
}