我已经尝试了很长一段时间来检查提交的链接是否是来自youtube.com或vimeo.com的有效电影剪辑,但我没有成功.
任何想法如何检查网址:
http://www.youtube.com/watch?v=jc0rnCBCX2c&feature=fvhl (valid)
http://www.youtube.com/watch?v=jc0FFCBCX2c&feature=fvhl (not valid)
http://www.youtube.com/v/jc0rnCBCX2c (valid)
http://www.youtube.com/v/ddjcddddX2c (not valid)
http://www.vimeo.com/463l522 (not valid)
http://www.vimeo.com/1483909 (valid)
http://www.vimeo.com/lumiblue (not valid)
http://www.youtube.com/user/dd181921 (not valid)
Run Code Online (Sandbox Code Playgroud)
?
我用的是php.
chr*_*acp 22
如果您检查请求中的响应标头http://gdata.youtube.com/feeds/api/videos/videoId,其中videoId是Google视频标识符,如果视频存在且400(错误请求),则应获得200 )如果视频不存在.
// PHP code
// Check if youtube video item exists by the existance of the the 200 response
$headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $youtubeId);
if (!strpos($headers[0], '200')) {
echo "The YouTube video you entered does not exist";
return false;
}
Run Code Online (Sandbox Code Playgroud)
我在这个网站上看到了答案:www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_23765374.html
他说:
我建议您使用youtube的API,因为您正在尝试验证视频是否存在.或者如果你不想进入API的东西,那么你可以做一个简单的技巧.检查此链接:
http://code.google.com/apis/youtube/developers_guide_php.html#RetrievingVideoEntry
要检查是否存在视频,您需要提取"v"值并将包含视频ID的请求发送到:
http://gdata.youtube.com/feeds/api/videos/videoID
其中videoID是"v"值,例如视频FLE2htv9oxc将被查询如 http://gdata.youtube.com/feeds/api/videos/FLE2htv9oxc 如果它不存在那么你将得到一个页面"无效的id "如果它存在,将返回一个XML提要,其中包含有关视频的各种信息.这样你就可以检查视频是否存在.
希望这会让你朝着正确的方向前进.
与vimeo一样,尝试查看那里的api文档. http://www.vimeo.com/api