【ニコニコ動画】動画用クッキー取得

ログインしたセッションを維持して、
「http://www.nicovideo.jp/watch/sm12345678」にGET通信し、
動画用のクッキーを取得します。

  • HTTP通信開始

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

    // リクエストヘッダ部を設定する。
    http.setRequestMethod("GET");
    // セッションを設定する。
    http.setRequestProperty("Cookie", "user_session=" + userSession);
    
  • GET通信のため、リクエストボディ部の設定は不要です。

  • レスポンスヘッダ部取得

    // レスポンスヘッダ部を取得する。
    String nicoHistory = null;
    Map<String, List<String>> responseHeaders = http.getHeaderFields();
    Iterator<String> responseIt = responseHeaders.keySet().iterator();
    while (responseIt.hasNext()) {
        String responseKey = responseIt.next();
        List<String> responseList = responseHeaders.get(responseKey);
        for(String reponseValue: responseList) {
            System.out.println(responseKey + ":" + reponseValue);
            if ("Set-Cookie".equals(responseKey)) {
                String[] cookieAry = reponseValue.split(";");
                for (String cookie: cookieAry) {
                    String[] nicoHistoryAry = cookie.split("=");
                    if ("nicohistory".equals(nicoHistoryAry[0])) {
                        nicoHistory = nicoHistoryAry[1];
                    }
                }
            }
        }
    }
    
  • レスポンスボディ部の取得は不要です。