OSDN Git Service

65ae534b62f8f466f7ab533e40a319ff12d41b22
[coroid/inqubus.git] / frontend / src / saccubus / net / BrowserInfo.java
1 /**
2  * Inspired from Nicorank by rankingloid 2008 - 2009
3  */
4 package saccubus.net;
5
6 import java.util.Arrays;
7
8 /**
9 /**
10  * <p>
11  * タイトル: さきゅばす
12  * </p>
13  *
14  * <p>
15  * 説明: ニコニコ動画の動画をコメントつきで保存
16  * </p>
17  *
18  * @version 1.22r3e
19  * @author orz
20  *
21  */
22 public class BrowserInfo {
23     /*
24      *  [DllImport("wininet.dll")]
25      *  private extern static bool InternetGetCookie(string url, string name, StringBuilder data, ref uint size);
26      *
27      *  shuold use NLink.win32
28      */
29
30
31     /** <p>
32      *  Chromium から user_session を取得。エラーが起こった場合、例外を投げずに空文字を返す
33      *  </p>
34      *  @return user_session
35      */
36     private String GetUserSesionChromium() {
37         String user_session = "";
38         String cookie_file = "";
39         String chromium = "\\Chromium\\User Data\\Default\\Cookies";
40         try {
41             String local_Appdir = System.getenv("LOCALAPPDATA");
42             if (local_Appdir != null && !local_Appdir.isEmpty()) {
43                 // Win7 32bit
44                 cookie_file = local_Appdir + chromium;
45                 if (Path.isFile(cookie_file)) {
46                     String dataStr = Path.ReadAllText(cookie_file, "UTF-8");
47                     user_session = CutUserSession(dataStr, cookie_file);
48                     return user_session;
49                 }
50             }
51             String profile_dir = System.getenv("USERPROFILE");
52             if (profile_dir != null && !profile_dir.isEmpty()) {
53                 // XP 32bit
54                 cookie_file = profile_dir
55                         + "\\Local Settings\\Application Data" + chromium;
56                 if (Path.isFile(cookie_file)) {
57                     String dataStr = Path.ReadAllText(cookie_file, "UTF-8");
58                     user_session = CutUserSession(dataStr, cookie_file);
59                     return user_session;
60                 }
61             }
62             return user_session;
63         } catch (Exception e) {
64             e.printStackTrace();
65             return user_session;
66         }
67     }
68
69 }