当前位置:  开发笔记 > 编程语言 > 正文

如何确定给定的URL链接是视频还是图像?

如何解决《如何确定给定的URL链接是视频还是图像?》经验,为你挑选了2个好方法。

我正在尝试获取用户输入的给定URL,并确定该URL是指向图像还是视频.

用例示例:

当用户粘贴YouTube视频的网址时,在保存页面时会自动显示嵌入的YouTube播放器.

当用户在Flickr中发布图片的URL时,在保存时,该页面将自动显示较小版本的Flickr图像.



1> OscarRyz..:

您可以从响应中获取URL并查看Content-type.

您可以从apache 使用HTTP Client,它可以帮助您获取URL的内容,并可以使用它来导航重定向.例如,尝试获取以下内容:

http://www.youtube.com/watch?v=d4LkTstvUL4

将返回包含视频的HTML.过了一会儿,你会发现视频在这里:

http://www.youtube.com/v/d4LkTstvUL4

但是,如果您获取该页面,您将获得重定向:

HTTP/1.0 302 Redirect
Date: Fri, 23 Jan 2009 02:25:37 GMT
Content-Type: text/plain
Expires: Fri, 23 Jan 2009 02:25:37 GMT
Cache-Control: no-cache
Server: Apache
X-Content-Type-Options: nosniff
Set-Cookie: VISITOR_INFO1_LIVE=sQc75zc-QSU; path=/; domain=.youtube.com; expires=
Set-Cookie: VISITOR_INFO1_LIVE=sQc75zc-QSU; path=/; domain=.youtube.com; expires=
Location: http://www.youtube.com/swf/l.swf?swf=http%3A//s.ytimg.com/yt/swf/cps-vf
L4&rel=1&eurl=&iurl=http%3A//i1.ytimg.com/vi/d4LkTstvUL4/hqdefault.jpg&sk=Z_TM3JF
e_get_video_info=1&load_modules=1

因此,您需要做的是获取URL并检查它,直到您获得最终内容

本节介绍如何处理重定向.



2> Eddie..:

发出HTTP HEAD请求,以便您可以检查返回的HTTP标头,而无需先下载整个文档.在Linux下使用"curl"显示非程序化案例:

$ curl --head http://stackoverflow.com/Content/Img/stackoverflow-logo-250.png
HTTP/1.1 200 OK
Cache-Control: max-age=28800
Content-Length: 3428
Content-Type: image/png
Last-Modified: Fri, 16 Jan 2009 09:35:30 GMT
Accept-Ranges: bytes
ETag: "98f590c5bd77c91:0"
Server: Microsoft-IIS/7.0
Date: Fri, 23 Jan 2009 03:55:39 GMT

您可以在Content-Type中看到这是一张图片.您可以使用来自Java的Apache的HTTPClient来执行HTTP头请求.

如果要确保下载内容,则只需发出HTTP GET(使用Httpclient)并使用相同的HTTP标头来确定内容类型.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有