flipflop の 三日坊主ウィキ

独自にログインしてセッションIDを取得する

最終更新:

flipflop

- view
だれでも歓迎! 編集
  1. ニコニコ動画から動画をダウンロードする
    1. ニコニコ動画にアクセスするためのセッションIDを取得する
      1. IEからセッションIDを取得する
      2. FirefoxからセッションIDを取得する
      3. 独自にログインしてセッションIDを取得する
      4. セッションIDの有効性を確認する
    2. 目的の動画のurlを突き止める
    3. 動画をダウンロードする
  2. ダウンロードした動画を再生する






まずはじめに、HTTPによるクライアントとサーバーのやり取りについて知識が不足していると感じている人は、順番が前後するがセッションIDの有効性を確認するのページを参照してそこのリンクから勉強しておいていただきたい。






ブラウザからセッションIDを取得できなかった場合には、プログラム自身がログイン処理を行い、ニコニコ動画から新しいセッションIDを発行してもらう手続きが必要になる。

ニコニコ動画でログインボタンをクリックした際にアクセスするURLは


である。注意したいのはプロトコルがHTTPではなく、HTTPSであることだ。HTTPによる通信は非常に簡単なのだが、HTTPSの場合、SSLによるデータ暗号化がかかるため、少々面倒になる。SSL対応処理を自分で書くのは大変なので、ここは出来合いのライブラリを使うのが得策だ。ここではOpenSSLを推奨しておく。



OpenSSL 公式 日本語
SSLによる暗号化を使った通信ができるライブラリ。基本的なソケット通信とほぼ同じ感じでコードが書けるのでそれなりに楽。
68user's page:SSL/TLS でアクセスしてみよう (1)
OpenSSLを使って通信する方法の説明。




メソッドはPOSTを使用してデータを次の形式で送る。

next_url=&mail=usermailaddress&password=userpassword&submit.x=0&submit.y=0

リクエストヘッダには

Content-Type: application/x-www-form-urlencoded
Content-Length: xx

の2つのヘッダを指定し、Content-Lengthにはデータの長さを正しく指定すること。

そうするとレスポンスヘッダに次のようなヘッダが返される。

Set-Cookie: user_session=deleted; expires=Mon, 06-Nov-2006 03:29:49 GMT
Set-Cookie: user_session=deleted; expires=Mon, 06-Nov-2006 03:29:49 GMT; path=/
Set-Cookie: user_session=deleted; expires=Mon, 06-Nov-2006 03:29:49 GMT; path=/; domain=.nicovideo.jp
Set-Cookie: user_session=user_session_xxxxxx_xxxxxxxxxxxxxxxxxx; expires=Thu, 06-Dec-2007 03:29:50 GMT; path=/; domain=.nicovideo.jp

この中に新しく発行されたセッションIDが含まれているので、これを取り出して使用する。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー