重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

ニコニコ動画のクッキーファイルを用いて、動画を閲覧させたいと思っています。

一般的に格納されている
C:\Documents and Settings\username\Cookies
から、username@nicovideo[n].jpファイルを開き、
user_session_xxxxxx_xxxxxxxxxxxxxxxxxxxxxx
を取得しています。

上記のクッキーを用いて、ニコニコ動画Topにアクセスさせたのですが
ログイン情報を取得できませんでした。(ログイン済み)

下記にソースの一部を抜粋しますので、「ここがおかしい」という点があればご教授お願い致します。

URL url = new URL("http://www.nicovideo.jp/");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Referer","http://www.nicovideo.jp/");
conn.setRequestProperty("Cookie", cookieValue);
//cookieValueはStrng型でcookieのuser_sessionが格納されている

conn.setInstanceFollowRedirects(false);
conn.connect();

InputStreamReader isr = new java.io.InputStreamReader(conn.getInputStream(), "UTF-8");
BufferedReader br = new java.io.BufferedReader(isr);

String t = null;
String line = null;
hile (null != (line = br.readLine())) {
t = t + line + "\n";
System.out.println(line);
}

取得した結果は「ようこそゲストさん」となり、ログインした状態の内容を取得できていませんでした。

A 回答 (2件)

あ、それもそうね。


ごめんなさいだわ。
Cookieクラスの内部構造の話と混同したわ。
なので必要なのは1つね。
ニコニコ動画がどのキーで認証をしているのかわからないけど
そのuser_sessionを使うなら
user_session=2行目
と言う形で送信する必要があるわ。
複数必要なら;でつなげて送ってあげて。

key1=value1;ke2=value2;key3=value3
こんな感じ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
お蔭様で、無事自分の意図する処理が行えることが出来ました。

お手数お掛け致しました。

お礼日時:2009/05/08 22:07

> ここがおかしい


・whileのwがない。まあこれはどうでもいいか。
・たぶんあなたCookieファイルの読み方がわかっていないわ。
・なんでニコニコ動画?
 他人様のサイトでテストしちゃダメでしょ。
 何かあった場合責任取れるの?

Cookieファイルは次のように記述されているの。
--ここから
key1
value1
etc
etc
etc
etc
etc
etc
*
key2
value2
etc
etc
etc
etc
etc
etc
*
key3
value3
etc
etc
etc
etc
etc
etc
*
--ここまで--
ちなみにetcは今回に関係ないから省略したわ。
*は区切り文字ね。
複数の値が設定されている場合はここまでが繰り返されるわ。
上記の様なCookieファイルの場合は次のように設定するべきよ。
conn.setRequestProperty("Cookie", "key1=value1");
conn.setRequestProperty("Cookie", "key2=value2");
conn.setRequestProperty("Cookie", "key3=value3");
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>・whileのwがない。まあこれはどうでもいいか。
初歩的ミスです。すみませんでした。

>・たぶんあなたCookieファイルの読み方がわかっていないわ。
はい、仰るとおりです。
cookieの扱い方が理解できておらず、手探り状態でした。

>・なんでニコニコ動画?
 他人様のサイトでテストしちゃダメでしょ。
 何かあった場合責任取れるの?
軽率な行為でした。
ニコニコ動画の動画リストを作成するソフトを作りたかったのです。

以下、疑問点です。
>複数の値が設定されている場合はここまでが繰り返されるわ。
>上記の様なCookieファイルの場合は次のように設定するべきよ。
>conn.setRequestProperty("Cookie", "key1=value1");
>conn.setRequestProperty("Cookie", "key2=value2");
>conn.setRequestProperty("Cookie", "key3=value3");

上記の設定方法では、"Cookie"というkeysに"key3=value3"が格納されるだけではないでしょうか?("key1=value1"、"key2=value2"は上書きされる?)

よろしければ回答して頂きますよう宜しくお願い致します。

お礼日時:2009/05/08 01:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!