Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从视频链接获取youtube或Vimeo视频Id_C#_Youtube_Vimeo - Fatal编程技术网

C# 从视频链接获取youtube或Vimeo视频Id

C# 从视频链接获取youtube或Vimeo视频Id,c#,youtube,vimeo,C#,Youtube,Vimeo,Vimeo共享视频链接看起来像: YouTube共享视频链接看起来像: 我想让人们把它输入我的网站,我将使用他们的嵌入代码嵌入它,并用他们的值(存储在数据库中)替换最后的(id)部分 我可以通过在最后一个斜杠“/”后面取最后一个值来解析这些值。如果字符串中有“vimeo”,我可以根据它们来自哪个站点。我的问题是,通过这样做,我是否向任何安全问题敞开了大门?一个人能做些什么来利用这个系统,任何人都能想到吗 是否有可能我不知道的用于验证的库?是的,几个月前我遇到了同样的问题,我使用此函数获取yo

Vimeo共享视频链接看起来像:

YouTube共享视频链接看起来像:

我想让人们把它输入我的网站,我将使用他们的嵌入代码嵌入它,并用他们的值(存储在数据库中)替换最后的(id)部分

我可以通过在最后一个斜杠“/”后面取最后一个值来解析这些值。如果字符串中有“vimeo”,我可以根据它们来自哪个站点。我的问题是,通过这样做,我是否向任何安全问题敞开了大门?一个人能做些什么来利用这个系统,任何人都能想到吗


是否有可能我不知道的用于验证的库?

是的,几个月前我遇到了同样的问题,我使用此函数获取youtube和Vimeo的视频id

这是你的解决办法

function Getvideoid(videolink)

var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;
var match = videolink.match(regExp);

  if (match && match[7].length == 11) 
    {
      alert("youtube video id : "+ match[7]);      
      return;
    }
    regExp = "vimeo\\.com/(?:.*#|.*/videos/)?([0-9]+)";
    match = videolink.match(regExp);
    if(match)
      {
       var videoid = videolink.split('/')[videolink.split('/').length - 1];
        alert("vimeo video id :"+videoid);
      }

 else 
  {
    alert("Unknown url");
  }
这里是JSBIN链接

function parseVideo(url) {
    // - Supported YouTube URL formats:
    //   - http://www.youtube.com/watch?v=My2FRPA3Gf8
    //   - http://youtu.be/My2FRPA3Gf8
    //   - https://youtube.googleapis.com/v/My2FRPA3Gf8
    // - Supported Vimeo URL formats:
    //   - http://vimeo.com/25451551
    //   - http://player.vimeo.com/video/25451551
    // - Also supports relative URLs:
    //   - //player.vimeo.com/video/25451551

    url.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);

    if (RegExp.$3.indexOf('youtu') > -1) {
        var type = 'youtube';
    } else if (RegExp.$3.indexOf('vimeo') > -1) {
        var type = 'vimeo';
    }

    return {
        type: type,
        id: RegExp.$6
    };
}