ユーザーが入力した特定のURLを取得して、そのURLが画像を指しているのかビデオを指しているのかを判断しようとしています。
ユースケースの例:
ユーザーがYouTubeビデオのURLを貼り付けると、保存時にページに埋め込まれたYouTubeプレーヤーが自動的に表示されます。
ユーザーがFlickrに画像のURLを投稿すると、保存時に、ページにFlickr画像の小さいバージョンが自動的に表示されます。
ユーザーが入力した特定のURLを取得して、そのURLが画像を指しているのかビデオを指しているのかを判断しようとしています。
ユースケースの例:
ユーザーがYouTubeビデオのURLを貼り付けると、保存時にページに埋め込まれたYouTubeプレーヤーが自動的に表示されます。
ユーザーがFlickrに画像のURLを投稿すると、保存時に、ページにFlickr画像の小さいバージョンが自動的に表示されます。
URLを取得して、応答からContent-typeを確認できます。
ApacheからHTTPクライアントを使用できます。これは、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を取得して調べる必要があります。
このセクションでは、リダイレクトの処理方法について説明します。
最初にドキュメント全体をダウンロードしなくても返される HTTP ヘッダーを調べることができるように、HTTP HEAD 要求を発行します。「curl」を使用して Linux で非プログラムのケースを表示する:
$ curl --head http://stackoverflow.com/Content/Img/stackoverflow-logo-250.png HTTP/1.1 200 OK キャッシュ制御: max-age=28800 コンテンツの長さ: 3428 コンテンツ タイプ: 画像/png 最終更新日: 2009 年 1 月 16 日 (金) 09:35:30 GMT Accept-Ranges: バイト ETag: "98f590c5bd77c91:0" サーバー: Microsoft-IIS/7.0 日付: 2009 年 1 月 23 日 (金) 03:55:39 GMT
Content-Type から、これが画像であることがわかります。Javaから Apache の HTTPClientを使用して、HTTP ヘッド要求を実行できます。
確実にコンテンツをダウンロードしたい場合は、HTTP GET を (Httpclient を使用して) 発行し、同じ HTTP ヘッダーを使用してコンテンツ タイプを判別します。
リンクをクリックして、コンテンツタイプヘッダーを調べますか?結果がHTMLページの場合、ページ上で最大の画像または埋め込まれたフラッシュファイルを探して、それを表示することを選択できますか?
Fast video indexer は、ビデオのリストからビデオ フレームを自動的にキャプチャし、インデックス Web ページ、インデックス画像、または画像のリストを作成できるビデオ キャプチャ ソフトウェアです。