【ニコニコ動画】コメント取得

ログインしたセッション、コメントサーバURL、ユーザID、スレッドIDを利用し、
コメントを取得します。

  • HTTP通信開始

    // HTTP通信を開始する。
    URL url = new URL(commentServer);
    HttpURLConnection http = (HttpURLConnection)url.openConnection();
    
  • リクエストヘッダ部設定

    // リクエストヘッダ部を設定する。
    http.setRequestMethod("POST");
    http.setDoOutput(true);
    // XML形式を指定する。
    http.setRequestProperty("Content-Type", "text/xml");
    // セッションと動画用クッキーを設定する。
    http.setRequestProperty("Cookie", "user_session=" + userSession);
    
  • リクエストボディ部設定

    // リクエストボディ部を設定する。
    PrintStream ps = new PrintStream(http.getOutputStream());
    StringBuilder xml = new StringBuilder();
    xml.append("<thread ");
    // スレッドIDを設定する。
    xml.append("thread=\"" + threadId + "\" ");
    // 固定値を設定する。
    xml.append("version=\"20061206\" ");
    // 取得コメント数を設定する。一般会員の場合、最大で1000件となる。
    xml.append("res_form=\"-100\" ");
    // ユーザIDを設定する。
    xml.append("user_id=\"" + userId + "\" ");
    xml.append("/>");
    ps.print(xml.toString());
    ps.close();
    
  • レスポンスボディ部取得

    // レスポンスボディ部を取得する。
    String comment = null;
    BufferedReader br = new BufferedReader(new InputStreamReader(http.getInputStream()));
    while((comment = br.readLine()) != null) {
        // XML形式のため、整形する必要がある。
        System.out.println(comment);
    }
    br.close();
    
  • レスポンスヘッダ部の取得は不要です。