根据各视频网站网址获取SWF链接的PHP实例仅供参考
class VideoSwfApi extends CApplicationComponent { public $url; public $alias = array("ku6", "youku", "tudou", "sohu", "letv", "iqiyi", "qq"); private static $instance; public static function getInstance() { if (is_null(self::$instance)) { self::$instance = new self(); } return self::$instance; } public function fetch($url = null) { if (is_null($url)) { $url = $this->url; } if (empty($url)) { return false; } $parse = parse_url($url); if (!isset($parse["host"]) || empty($parse["host"])) { return false; } $alias = $this->_getAlias($parse["host"]); $func = $alias."Api"; if (!method_exists($this, $func)) { return $this->baiduApi($url); } return $this->$func($url); } /** * 酷6 * @param unknown $url * @return string */ public function ku6Api($url) { return "http://player.ku6.com/refer/". $this->_filename($url) ."/v.swf"; } /** * 优酷 * @param unknown $url * @return boolean|mixed */ public function youkuApi($url) { $uri = "https://openapi.youku.com/v2/videos/show_basic.json"; $params = array( "client_id" => "840c098f672da0c6", "video_url" => $url ); $content = $this->_curl($uri."?".http_build_query($formdata)); if (empty($content)) { return false; } $data = json_decode($content, true); if (empty($data)) { return false; } return $data["player"]; } /** * 土豆 * @param unknown $url * @return boolean */ public function tudouApi($url) { $uri = "http://api.tudou.com/v6/video/info?app_key=6334753012795e9c&format=json&itemCodes=".$this->_filename($url); $content = $this->_curl($uri); if (empty($content)) { return false; } $data = json_decode($content, true); if (empty($data)) { return false; } return $data["results"][0]["outerPlayerUrl"]; } /** * 搜狐 * @param unknown $url * @return string|boolean */ public function sohuApi($url) { $content = $this->_curl($url); if (preg_match("/<meta[^>]+property="og:videosrc"[^>]+content="([^>]+)"[^>]*/>/i", $content, $matches)) { return trim($matches[1]); } return false; } /** * 乐视网 * @param unknown $url * @return string */ public function letvApi($url) { return "http://i7.imgs.letv.com/player/swfPlayer.swf?id=". $this->_filename($url) ."&autoplay=0"; } private function _getAlias($host) { $host = strtolower($host); $arr = explode(".", $host); if ($arr[0] == "www") { array_shift($arr); } array_pop($arr); $alias = $this->alias; foreach ($alias as $name) { if (in_array($name, $arr)) { return $name; } } return false; } private function _build($stat, $url = null) { return array("stat" => $stat, "url" => $url); } private function _filename($url) { $parseUrl = parse_url($url); $path = $parseUrl["path"]; $pathInfo = pathinfo($path); $filename = $pathInfo["filename"]; return $filename; } private function _curl($url) { $referer = "http://www.baidu.com"; $header = array( "Host" => "www.baidu.com", "User-Agent" => "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36", "X-Requested-With" => "XMLHttpRequest", ); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_REFERER, $referer); $content = curl_exec($curl); curl_close($curl); return $content; } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 自己做腾讯视频真实地址解析分析
- 下一篇: php 常见的视频格式转换