如何检测网址中的视频内容?

时间:2013-03-09 20:43:24

标签: c# windows-phone-7 twitter tweetsharp

我使用TweetSharp在我的wp8应用中传输推文。我想检测每条推文中的内容。使用照片很简单,使用TwitterStatus.Entities.Media一组图像。通过视频加注,视频链接位于TwitterStatus.Entities.Urls(例如youtube.comyoutu.be等),并提供指向其他网站的简单链接。官方Android Twitter应用程序检测内容类型并显示图标forech类型(链接,视频,照片)。我试图从JSON获取此信息,但在JSON视频链接中也在urls,而不在media。但Android应用程序知道如何检测内容,所以它可以成为。

在完整的解决方案中,enum ContentTypeMyTwitterMessagePhoto或{{1}只需Video字段Link }

1 个答案:

答案 0 :(得分:0)

我能想到的几种方法是

a)只需使用已知的文件扩展名并检查输入的扩展名是否为并返回(假设所有URL都提供文件扩展名)。

b)使用URL启动下载,但仅检索标题

 WebClient aClient = new WebClient();
 WebHeaderCollection collection = new WebHeaderCollection();
 collection[HttpRequestHeader.Range] = "bytes=0-0";
 aClient.Headers = collection; 
 aClient.DownloadStringAsync(new Uri("URI GOES HERE"));

然后在DownloadStringCompleted事件中解析标头并检索内容类型

 var aClient = (Webclient)sender;
 var responseHeaders = client.ResponseHeaders;
 var TypeOfContent = responseHeaders["Content-Type"];

然后,您应该可以从中确定内容,可以找到MIME类型here

对于b)您可能还需要处理重定向,但这是另一个问题。