「独自にログインしてセッションIDを取得する」の編集履歴(バックアップ)一覧はこちら

独自にログインしてセッションIDを取得する」(2007/11/06 (火) 13:25:42) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

+[[ニコニコ動画から動画をダウンロードする]] ++ニコニコ動画にアクセスするためのセッションIDを取得する +++[[IEからセッションIDを取得する]] +++[[FirefoxからセッションIDを取得する]] +++&bold(){独自にログインしてセッションIDを取得する} +++[[セッションIDの有効性を確認する]] ++[[目的の動画のurlを突き止める]] ++[[動画をダウンロードする]] +[[ダウンロードした動画を再生する]] ---- まずはじめに、HTTPによるクライアントとサーバーのやり取りについて知識が不足していると感じている人は、順番が前後するが[[セッションIDの有効性を確認する]]のページを参照してそこのリンクから勉強しておいていただきたい。 ---- ブラウザからセッションIDを取得できなかった場合には、プログラム自身がログイン処理を行い、ニコニコ動画から新しいセッションIDを発行してもらう手続きが必要になる。 ニコニコ動画でログインボタンをクリックした際にアクセスするURLは >https://secure.nicovideo.jp/secure/login?site=niconico である。注意したいのはプロトコルがHTTPではなく、HTTPSであることだ。HTTPによる通信は非常に簡単なのだが、HTTPSの場合、SSLによるデータ暗号化がかかるため、少々面倒になる。SSL対応処理を自分で書くのは大変なので、ここは出来合いのライブラリを使うのが得策だ。ここではOpenSSLを推奨しておく。 ---- OpenSSL [[公式>http://www.openssl.org/]] [[日本語>http://www.infoscience.co.jp/technical/openssl/]] SSLによる暗号化を使った通信ができるライブラリ。基本的なソケット通信とほぼ同じ感じでコードが書けるのでそれなりに楽。 [[68user's page:SSL/TLS でアクセスしてみよう (1)>http://x68000.q-e-d.net/~68user/net/ssl-1.html]] 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にはデータの長さを正しく指定すること。勿論セッションIDもCookieヘッダで指定する。 そうするとレスポンスヘッダに次のようなヘッダが返される。 >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が含まれているので、これを取り出して使用する。
+[[ニコニコ動画から動画をダウンロードする]] ++ニコニコ動画にアクセスするためのセッションIDを取得する +++[[IEからセッションIDを取得する]] +++[[FirefoxからセッションIDを取得する]] +++&bold(){独自にログインしてセッションIDを取得する} +++[[セッションIDの有効性を確認する]] ++[[目的の動画のurlを突き止める]] ++[[動画をダウンロードする]] +[[ダウンロードした動画を再生する]] ---- まずはじめに、HTTPによるクライアントとサーバーのやり取りについて知識が不足していると感じている人は、順番が前後するが[[セッションIDの有効性を確認する]]のページを参照してそこのリンクから勉強しておいていただきたい。 ---- ブラウザからセッションIDを取得できなかった場合には、プログラム自身がログイン処理を行い、ニコニコ動画から新しいセッションIDを発行してもらう手続きが必要になる。 ニコニコ動画でログインボタンをクリックした際にアクセスするURLは >https://secure.nicovideo.jp/secure/login?site=niconico である。注意したいのはプロトコルがHTTPではなく、HTTPSであることだ。HTTPによる通信は非常に簡単なのだが、HTTPSの場合、SSLによるデータ暗号化がかかるため、少々面倒になる。SSL対応処理を自分で書くのは大変なので、ここは出来合いのライブラリを使うのが得策だ。ここではOpenSSLを推奨しておく。 ---- OpenSSL [[公式>http://www.openssl.org/]] [[日本語>http://www.infoscience.co.jp/technical/openssl/]] SSLによる暗号化を使った通信ができるライブラリ。基本的なソケット通信とほぼ同じ感じでコードが書けるのでそれなりに楽。 [[68user's page:SSL/TLS でアクセスしてみよう (1)>http://x68000.q-e-d.net/~68user/net/ssl-1.html]] 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が含まれているので、これを取り出して使用する。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー