javaでニコニコビューアーを作ろうとしています。動画情報を取得するために下のようなコードを書きました。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class Niconico{
public static void main(String[] args){
try {
nico();
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (Exception e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
} public static void nico() throws Exception,IOException{ HttpURLConnection con; URL url; BufferedWriter writer; BufferedReader reader; String cookie; String response[]; url=new URL("https://secure.nicovideo.jp/secure/login?site=niconico"); con=(HttpURLConnection)url.openConnection(); con.setRequestMethod("POST"); con.setDoOutput(true); con.connect(); writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream())); writer.write("mail=" + URLEncoder.encode(MAIL, "UTF-8")); writer.write("&password=" + URLEncoder.encode(PASSWORD, "UTF-8")); writer.flush(); writer.close(); cookie = con.getHeaderField("Set-Cookie"); con.disconnect(); url = new URL("http://www.nicovideo.jp/api/getflv?v=sm9"); con = (HttpURLConnection) url.openConnection(); con.setRequestProperty("Cookie", cookie); con.connect(); reader = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8")); response = reader.readLine().split("&"); con.disconnect(); for(int i=0;i<response.length;i++){ System.out.println(response[i]); } }
}
実行すると本来「thread id...」と返ってくるはずなのですが、「closed=1
done=true」としか返ってきません。
下の2つのサイトを参考にさせていただきました。
どなたか、原因がわかる方いませんでしょうか。よろしくお願いします。
http://d.conma.me/entry/20080205/1202211103
http://manaten.is.land.to/diary.php?topic=2009060801
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。