綾小路龍之介の素人思考

技術情報

ここのセクションはメモ書きですな。IE6.0で動画再生してWireSharkでパケット解析したときの。

ブラウザで動画再生開始した際に流れたリクエストヘッダ

おそらく下に挙げたパケットがフラッシュビデオファイルをダウンロードする際のリクエストヘッダだろう。これと同じヘッダをcurlやwgetで発行できればflvファイルがダウンロードできるはずだ。

GET /unit1/flash8/cd/cd94412311d23d23d447497cdc5f5761.flv HTTP/1.1
Accept: */*
Referer: http://www.yourfilehost.com/flash/flvplayer7.swf?autoStart=0&no_skin_menu=1&video=http%3A%2F%2Fwww.yourfilehost.com%2Fvideo-embed.php%3Fvidl
x-flash-version: 9,0,28,0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)
Host: cdn.yourfilehost.com
Connection: Keep-Alive
Cookie: media_views=2; yfh_cids=%7C1227611186%3A3adc5c53ef9234cdc53dc01d0b5d7a1b%7C%7C1227611609%3Acd94412311d23d23d447497cdc5f5761%7C; yfh_views=2; yfh_ac=active; yfh_af=off; __utma=83567518.757577051.1227611203.1227611203.1227611203.1; __utmb=83567518; __utmc=83567518; __utmz=83567518.1227611203.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); cdnlock=ip%3D219.126.168.136%7Eexpires%3D1227611913%7Eaccess%3D%2Funit1%2F%2A%7Emd5%3Dd152af2c2fff38e8ba0e9b174ac7ec46; from=noref; lfrom=noref; idcheck=1227611204; count_visits=1

cookieがないと403 Forbiddenが返されてダウンロードできない。また、目的のflvのURL側からないとダウンロードできない。このCookieとURLを取得するのにもう一手間必要。

cookieとURL取得のためのリクエストヘッダ

GET /video-embed.php?vidlink=&cid=3adc5c53ef9234cdc53dc01d0b5d7a1b&adult=1&cat=video&file=rankouplay_part01.wmv&family=off&key=219.126.168&cdn=1&f=flash8&? HTTP/1.1
Accept: */*
Referer: http://www.yourfilehost.com/flash/flvplayer7.swf?autoStart=0&no_skin_menu=1&video=http%3A%2F%2Fwww.yourfilehost.com%2Fvideo-embed.php%3Fvidl
x-flash-version: 9,0,28,0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)
Host: www.yourfilehost.com
Connection: Keep-Alive
Cookie: media_views=1; yfh_cids=%7C1227611186%3A3adc5c53ef9234cdc53dc01d0b5d7a1b%7C; yfh_views=1; yfh_ac=active; yfh_af=off; __utma=83567518.757577051.1227611203.1227611203.1227611203.1; __utmb=83567518; __utmc=83567518; __utmz=83567518.1227611203.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)

URLは/media.php?cat=video&file=rankouplay_part02.wmvで送られてきた内容にかかれている。これで送られてきた内容を解析してダウンロードするflvのURLを決める。

ブラウザアドレス入力欄に書いたアドレスの取得時に流れたリクエストヘッダ

GET /media.php?cat=video&file=rankouplay_part02.wmv HTTP/1.1
Accept: */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322)
Host: www.yourfilehost.com
Connection: Keep-Alive
Cookie: __utma=83567518.757577051.1227611203.1227611203.1227611203.1; __utmz=83567518.1227611203.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)

なぜかcookieがセットされている。あらかじめ消しておいたはずだが。

未ダウンロード部分へのシーク

未ダウンロード部分へのシークができればその際に流れたパケットをみて分割ダウンロード部分を書こうと思ったのだが、yourfilehostの場合シークできるのはダウンロード済みの部分だけ。と言うことで分割ダウンロードはyourfilehost側からすればあまりうれしくないことなのかもしれない。

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2006-03-25T13:30:23+09:00
  2. Modified: 2006-03-25T10:23:43+09:00
  3. Generated: 2017-09-13T23:10:55+09:00