Hatena::¥Ö¥í¥°(Diary)

ÀèÀ¸¡¢¤³¤¤¤Ä¤Þ¤¿¥´¥ß¥³¡¼¥É½ñ¤¤¤Æ¤Þ¤¹

2011-04-09

¥Ë¥³À¸Àʼè¤ê¥Ä¡¼¥ë¤òºî¤Ã¤Æ¤ß¤¿¡¡-²òÀâ-

http://d.hatena.ne.jp/ring2drum/20110409/1302377220

¤³¤Á¤é¤ÇÇÛÉÛ¤·¤Æ¤ëNicoLiveSeatSharp¤Î¥³¡¼¥É¤ò²òÀ⤷¤¿¤¤¤È»×¤¤¤Þ¤¹¡£

¡û¥×¥í¥°¥é¥à¤Îưºî¤Îή¤ì

­¡¥Ë¥³¥Ë¥³Æ°²è¤Î¥í¥°¥¤¥ó¾ðÊó¤òÆþÎϤ¹¤ë¡£

¡¡¥á¡¼¥ë¥¢¥É¥ì¥¹¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Þ¤¹¡£

­¢halxxxx¤µ¤ó¤Î¥¯¥Ã¥­¡¼¼èÆÀ¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¥Ö¥é¥¦¥¶¥¯¥Ã¥­¡¼¤«¤é¥»¥Ã¥·¥ç¥ó¼èÆÀ

            ICookieGetter cookieGetter = CookieGetter.CreateInstance(BrowserType.GoogleChrome3);
            
            CookieCollection cke = cookieGetter.GetCookieCollection(uri);
            
            cContainer.Add(uri, cke);

­£Ç§¾Ú1¤Ë¥¢¥¯¥»¥¹¡£

            string login_url = @"https://secure.nicovideo.jp/secure/login?site=nicolive_antenna";

            HttpWebRequest login_request = (HttpWebRequest)HttpWebRequest.Create(login_url);
            login_request.Method = "POST";
            string login_info = "mail=" + mail + "&" + "password=" + pswd;
            byte[] login_info_byteData = Encoding.UTF8.GetBytes(login_info);
            login_request.ContentLength = login_info_byteData.Length;
            login_request.ContentType = "application/x-www-form-urlencoded";
            CookieContainer cookie = new CookieContainer();
            login_request.GetRequestStream().Write(login_info_byteData, 0, login_info_byteData.Length);
            HttpWebResponse login_response = (HttpWebResponse)login_request.GetResponse();
            StreamReader test = new StreamReader(login_response.GetResponseStream());

            Regex getticket = new Regex(@"nicolive_antenna_\d*");
            string ticket = getticket.Match(test.ReadToEnd()).Value;

            return ticket;

¤³¤³¤Ç¤Ï­¤¤ÇɬÍפˤʤëǧ¾Ú¥Á¥±¥Ã¥È¤ò¼èÆÀ¤·¤½¤ÎÃͤòÊÖ¤¹¡£

­¤Ç§¾Ú2¤Ë¥¢¥¯¥»¥¹¡£

            string login_url = @"http://live.nicovideo.jp/api/getalertstatus";

            HttpWebRequest login_request = (HttpWebRequest)HttpWebRequest.Create(login_url);
            login_request.Method = "POST";
            string login_info = "ticket=" + ticket;
            byte[] login_info_byteData = Encoding.UTF8.GetBytes(login_info);
            login_request.ContentLength = login_info_byteData.Length;
            login_request.ContentType = "application/x-www-form-urlencoded";
            login_request.GetRequestStream().Write(login_info_byteData, 0, login_info_byteData.Length);
            HttpWebResponse login_response = (HttpWebResponse)login_request.GetResponse();
            StreamReader test = new StreamReader(login_response.GetResponseStream());


            string res = test.ReadToEnd();


            return res;

¥ì¥¹¥Ý¥ó¥¹¤ò¤½¤Î¤Þ¤ÞÊÖ¤·¤Æmain¤ÎÊý¤Ç¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤¹¤ë

­¥Ç§¾Ú2¤Î¥ì¥¹¥Ý¥ó¥¹¤«¤é¥³¥á¥ó¥È¥µ¡¼¥Ð¡¼¤Î¥¢¥É¥ì¥¹¡¢¥Ý¡¼¥È¡¢¥¹¥ì¥Ã¥ÉID¤ò¼èÆÀ

¡¡Regex.Match()¥á¥½¥Ã¥É¤ò»È¤¤¤Þ¤¯¤Ã¤Æ¤ë¡£

¡¡¤Á¤Ê¤ß¤ËString.Replace()¥á¥½¥Ã¥É¤Î¸ºß¤òÃΤé¤Ê¤«¤Ã¤¿¤Î¤Ç¥¿¥°¤Îºï½ü¤âÁ´ÉôRegex¤Ç¤ä¤Ã¤Æ¤ë¡£¤³¤ì¼£¤½¤¦¤È»×¤Ã¤Æ¤¿¤ó¤À¤±¤É˺¤ì¤Æ¤¿¡£¥³¡¼¥Éά

­¦¥½¥±¥Ã¥ÈÄÌ¿®¤ÇÈÖÁȳ«»ÏÄÌÃΤò¼õ¿®¤¹¤ë½àÈ÷

IPAddress host_ip = Dns.GetHostEntry(host).AddressList[0];
            IPEndPoint ipe = new IPEndPoint(host_ip, port);
            Socket AlartServerConnection = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            AlartServerConnection.Connect(ipe);
            Console.WriteLine("Connection established.");
            Console.WriteLine("Connection enabled = " + AlartServerConnection.Connected.ToString());
            string sendMsg = String.Format("<thread thread=\"" + thread + "\" version=\"20061206\" res_from=\"-1\"/>\0");
            byte[] sendBytes = Encoding.UTF8.GetBytes(sendMsg);
            int i = AlartServerConnection.Send(sendBytes, 0, sendBytes.Length, SocketFlags.None);
            Console.WriteLine("Request sent. size was {0} byte[s]", i);
            byte[] resBytes = new byte[1024];


            Regex getliveinfo = new Regex(@"(\d*),(co\d*),(\d*)");
            Regex getliveinfo2 = new Regex(",");
            
            Console.Clear();
            

ºÇ½é¤ÏTcpClient¤È¤«»È¤Ã¤Æ¤ß¤Æ¤¿¤±¤É¤Ê¤ó¤«»×¤Ã¤¿Æ°ºî¤¬¼Â¸½¤Ç¤­¤Ê¤«¤Ã¤¿¤Î¤ÇSocket¤ËÀÚ¤êÂØ¤¨¡£ÄÌ¿®¼þ¤ê¤Î¥³¡¼¥É¤Ï½¤Àµ¤·¤¿¤¤¤±¤Éư¤«¤Ê¤¯¤Ê¤ê¤½¤¦¤ÇÉݤ¤

­§¥×¥Ã¥·¥å¤Î¥ê¥¯¥¨¥¹¥È¤òÁ÷¿®

while (true) {
                int size = AlartServerConnection.Receive(resBytes, resBytes.Length, 0);
                if (size == 0) {
                    break;
                }
                string data = Encoding.UTF8.GetString(resBytes, 0, resBytes.Length);
                
........

­¨¼õ¿®¤·¤¿¾ðÊó¤ò¤â¤È¤Ëgetplayerstatus¤ÇºÂÀʤò³ÎÊÝ

HttpWebRequest LiveSeat = (HttpWebRequest)HttpWebRequest.Create(getplayerstatus + "lv" + lv);
            LiveSeat.Method = "POST";
            LiveSeat.CookieContainer = cContainer;
            //LiveSeat.UserAgent = "NicoLiveAlert 1.0.2";
            //LiveSeat.Headers.Add("Cookie", "user_session=" + session);
            StreamReader sr = new StreamReader(LiveSeat.GetResponse().GetResponseStream());
            string getplayerstatus_res = sr.ReadToEnd();

            if(require_community_member.IsMatch(getplayerstatus_res)){
                //Console.WriteLine("¥³¥ß¥å¥Ë¥Æ¥£¸ÂÄêÊüÁ÷");
                return;
            }else if(unknown_error.IsMatch(getplayerstatus_res)){
                Console.WriteLine("ÉÔÌÀ¤Ê¥¨¥é¡¼");
                return;
            }
            string room = roomlabel.Match(getplayerstatus_res).Value;
            room = room.Replace("<room_label>","");
            Console.Write(Convert.ToString(counter_b%20)+":"+room+"-");
            string seet = seetno.Match(getplayerstatus_res).Value;
            seet = seet.Replace("<room_seetno>", "");
            Console.Write(seet+"ÈÖÀʳÎÊÝ\t");
            access[counter_b % 20] = live[0];
            string title = gettitle.Match(getplayerstatus_res).Value;
            title = title.Replace("<title>", "");
            Console.WriteLine(title);
            counter_b++;

¼«Ê¬¤Ç¤â¤è¤¯¤ï¤«¤é¤Ê¤¤¥³¡¼¥É½ñ¤¤¤¿¡£

­©ÈÖ¹æ¤òÉÕ¤±¤Æ²èÌ̤Ëɽ¼¨¡£

¡¡13:co*****-*ÈÖ¡¡¡ÚÊüÁ÷¥¿¥¤¥È¥ë¡Û¤Î·Á¼°¤Çɽ¼¨¤µ¤ì¤ë¤Î¤ÇÀèÆ¬¤Î¿ô»ú¤ò¤½¤Î¤Þ¤ÞÆþÎϤ·¤ÆEnter¡£

­ªÆþÎϤµ¤ì¤¿¿ô»ú¤ËÂбþ¤¹¤ëÊüÁ÷¤ò¥Ö¥é¥¦¥¶¤Ç³«¤¯

¡¡¤¹¤ë¤È¥Ö¥é¥¦¥¶¤¬³«¤¯¡¢¤È¡£

ºÇ¸å¤ÎÊý¤Ï¥½¡¼¥¹¤Ï¤é¤Ê¤¯¤Æ¤âʬ¤«¤ë¤È»×¤¦¤ó¤Ç³ä°¦¤·¤Þ¤¹¡£

¤Á¤Ê¤ß¤ËËÍ¤ÏÆ°¤±¤Ð¤¤¤¤¤Î¿Í¤Ê¤ó¤Ç¤­¤ì¤¤¤Ê¥³¡¼¥É¤È¤«ÊÑ¿ô¤Î̿̾ˡ¤È¤«¤½¤ó¤Ê¤â¤óÃΤê¤Þ¤»¤ó¤Î¤Ç»ØÅ¦¤µ¤ì¤Æ¤â¤Ê¤ó¤Ë¤â¤·¤Þ¤»¤ó¡£

¤Ï¤¤¡¢°Ê¾å

¥Ë¥³À¸Àʼè¤ê¥Ä¡¼¥ë¤òºî¤Ã¤Æ¤ß¤¿

µ×¤·¤Ö¤ê¤Ë¼ÂÍÑŪ¤Ê¥×¥í¥°¥é¥à¤ò½ñ¤¤¤¿¡£

¡ÚÃí°Õ¡ÛÂбþ¥Ö¥é¥¦¥¶¤Ï¸½ºßGoogleChrome¤Î¤ß¤È¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£Chrome¤Ç¥Ë¥³¥Ë¥³Æ°²è¤Ë¥í¥°¥¤¥ó¤·¤¿¾õÂ֤Ǥ´ÍøÍѤ¯¤À¤µ¤¤¡£

¥Ë¥³À¸¤Î¥¢¥é¡¼¥ÈÄÌÃλª¤Ë¥½¥±¥Ã¥ÈÄÌ¿®¤òÄ¥¤Ã¤Æ¡¢¥×¥Ã¥·¥å¤µ¤ì¤Æ¤¯¤ëÈÖÁȾðÊó¤Ë¤«¤¿¤Ã¤Ñ¤·¤«¤égetplayerstatus¤ò᤯¡£

ÄÌ¿®¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¹¥ì¥Ã¥É¤Ë¤·¤Æ¥á¥¤¥ó¥¹¥ì¥Ã¥É¤ÇÆþÎϤòÂÔ¤Á¡¢¿ô»ú¤òÆþÎϤ¹¤ë¤ÈÂбþ¤¹¤ëÊüÁ÷¤ò¥Ö¥é¥¦¥¶¤Ç³«¤­Àʼè¤ê¤òÃæÃǤ¹¤ë(¥Ë¥³À¸¤ÎÊ£Á뵬À©¤Ë°ú¤Ã¤«¤«¤Ã¤ÆÊüÁ÷¤¬Ää»ß¤·¤Æ¤·¤Þ¤¦¤¿¤á)¡£

ºÆ¤ÓÀʼè¤ê¤òºÆ³«¤¹¤ë¤Ë¤Ï¥³¥ó¥½¡¼¥ë¤Ëstart¤È¥³¥Þ¥ó¥É¤ò¤¦¤Ä¡£stop¤Ç»ß¤Þ¤ë¡£

»È¤¤Êý¤Ê¤ó¤Æ¤¢¤ê¤Þ¤»¤ó¡£start¤Èstop¤Î°ÕÌ£¤À¤±¤ï¤«¤ì¤Ð¤½¤ì¤Ç¤è¤·¡£

¢¨Æ°ºî¤Ë¤Ï.NET Framework 3.5¤¬É¬ÍפǤ¹¡£

http://www1.axfc.net/uploader/He/so/319633.zip&key=nlss

DL¤ÏÀèÃå10̾ÍÍ¡£¤·¤¿¤«¤¿¤Ï¥³¥á¥ó¥È¤¤¤¿¤À¤±¤ë¤È´ò¤·¤¤¤Í¡£

2011-02-01

¶á¶·

À¸¤­¤Æ¤Þ¤¹

ÀèÆü¾Ò²ð¤·¤¿Flash¤ÎËܤÏÀÑÆÉ¾õÂ֤Ǥ¹

¥Þ¥¤¥Î¡¼¥ÈPC(Dell inspiron 1525)¤ËRed5¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤ÆÍ·¤ó¤À¤ê¤·¤Æ¤Þ¤¹

¤¬¡¢¥Ç¥â¤òư¤«¤½¤¦¤È¤¹¤ë¤ÈFlashPlayer¤¬¥¯¥é¥Ã¥·¥å¤·¤Þ¤¹

µã¤­¤¿¤¤

¤È¤ê¤¢¤¨¤º¥×¥ì¥¤¥ä¡¼¤Î³°´Ñ¥Ç¥¶¥¤¥ó¤«¤é»Ï¤á¤è¤¦¤«¤È¡£

MXML¤Çµ­½Ò¤Ã¤Æ¤³¤È¤ÏMicrosoft¤ÎExpressionStudio¤ÇC#¤Î¥×¥ì¥¤¥ä¡¼¤Î¥Ç¥¶¥¤¥ó¤ä¤Ã¤¿¤³¤È¤¢¤ë¤±¤ÉMES¤Ã¤Æ¤¢¤ìMXML¤À¤Ã¤¿¤«¤·¤é¡£¸ß´¹À­¤¢¤ë¤Î¤«¤·¤é¡£

Ä´¤Ù¤Þ¤¹¡£

¶á¶·¤Þ¤È¤á¡§¡¡¿Ê¤ó¤Ç¤Ê¤¤

2011-01-05

Ëܤ¬ÆÏ¤¤¤¿

Flex¡õFlash Builder 4 ¤Ë¤è¤ë Web¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¥¬¥¤¥É¥Ö¥Ã¥¯ ¡ÊÃø¡§¥¯¥¸¥éÈô¹Ô´ù¡Ë

http://amzn.to/gNmKYs

Amazon¤ÇÃíʸ¤·¤¿Ëܤ¬¤è¤¦¤ä¤¯ÆÏ¤­¤Þ¤·¤¿¡£º´À

FlashBuilder4¤âAdobeÍͤ¬³ØÀ¸¡¦¼º¶È¼Ô¤Ë̵½þ¤ÇÇÛÉÛ¤·¤Æ¤¯¤À¤µ¤Ã¤Æ¤ë¤Î¤Ç¡¢¤³¤ì¤Ç²÷Ŭ¤Ë³«È¯¤Ç¤­¤ë´Ä¶­¤¬¤½¤í¤Ã¤¿¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£

¤È¤ê¤¢¤¨¤ºFlashBuilder4¤òµ¯Æ°¡¢Å¬Åö¤Ê¥×¥í¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¤¤¤í¤¤¤í¤¤¤¸¤Ã¤Æ¤ß¤Þ¤·¤¿¡£

¿ô½½Ê¬¤¤¤¸¤Ã¤Æ¤ß¤¿¤È¤³¤í¡¢GUI³«È¯¼þ¤ê¤Î°·¤¤¤ÏC#¤Ë¤«¤Ê¤ê¶á¤¤¤È´¶¤¸¤¿¡£C#°Ê³°GUI°·¤Ã¤¿¤³¤È¤Ê¤¤¤ó¤À¤±¤É¡£

VisualStudio2010¤ÇC#³«È¯¤·¤Æ¤ë»þ¤Ï¡¢Î㤨¤Ð¥é¥Ù¥ë¤ò¥Õ¥©¡¼¥à¤ËÀßÃÖ¤¹¤ë¤È¼«Æ°Åª¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎID¤¬ÀßÄꤵ¤ì¤¿¡Êlabel1¤È¤«¡Ë¡£

¤À¤«¤é¤¤¤­¤Ê¤ê

¡¡label1.text = "Hello world";

¤ß¤¿¤¤¤Êµ­½Ò¤¬²Äǽ¤À¤Ã¤¿¤±¤É¡¢FlashBuilder4¤Ç¿·¤·¤¤¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÀßÃÖ¤·¤Æ¤â¡¢MXML¤Ëµ­½Ò¤µ¤ì¤¿ÄêµÁ¤Ï

¡¡<s:Label x="126" y="98" text="¥é¥Ù¥ë"/>

¤Ä¤Þ¤êID¤¬ÄêµÁ¤µ¤ì¤Æ¤Ê¤¤¤Î¤Ç¡¢¤¹¤°¤Ë¥×¥í¥Ñ¥Æ¥£¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£

ºÇ½é¤Ï¤³¤ì¤Ë¤Ï¤Þ¤ê¤Þ¤·¤¿¡£

¥Ü¥¿¥ó¤È¥é¥Ù¥ë¤ò¤ª¤¤¤Æ¡¢¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥é¥Ù¥ë¤Îʸ»ú¤¬ÊѤï¤ë¥×¥í¥°¥é¥à¤ò¤Ä¤¯¤í¤¦¤È¤·¤Æ¤¤¤¿¤È¤­¡¢¤³¤Î¡ÖID¤¬ÄêµÁ¤µ¤ì¤Æ¤Ê¤¤¡×¤Ã¤Æ¤³¤È¤ËÁ´¤¯µ¤¤Å¤«¤Ê¤¯¤Æ¡¢¥¨¥é¡¼¤¬¤Ç¤Æµã¤­¤½¤¦¤Ë¤Ê¤Ã¤Æ¤¿¡£²¶¤ËFlash¤Ï̵Íý¤À¡¢¤È¡£

Ëܤ¬ÆÏ¤¤¤Æ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀá¤ò¤µ¤¯¤µ¤¯¸Æ¤ó¤Ç¤¿¤é¤Ê¤ë¤Û¤É¤¿¤·¤«¤ËID¤Ï¼«Ê¬¤Ç·è¤á¤Þ¤·¤ç¤¦¤ß¤¿¤¤¤Ê¤³¤È¤¬½ñ¤¤¤Æ¤¢¤Ã¤¿¡£¤ä¤ê¤è¤ë¡£

¸Ä¿ÍŪ¤Ê´¶ÁۤȤ·¤Æ¤Ï¡¢¡Öbutton1¡×¤ß¤¿¤¤¤ÊID¤À¤ÈÂ絬ÌϤʥ¢¥×¥ê¤Ë¤Ê¤Ã¤¿¤È¤­¥á¥ó¥Æ¥Ê¥ó¥¹¤¬Ê£»¨¤Ë¤Ê¤ë¤Î¤Ç¡¢¤½¤Îµ¡Ç½¤Ë¤¢¤Ã¤¿Ì¾Á°¤ò¼«Ê¬¤ÇÉÕ¤±¤ë¤Û¤¦¤¬¤Î¤Á¤Î¤Á³Ú¤Ê¤Î¤«¤Ê¡¢¤È¡£



¤·¤Ð¤é¤¯¤Ï¤³¤ÎËܤÇFlex¤ÈFlash¤Ë¤Ä¤¤¤Æ³Ø¤ó¤Ç¤¤¤³¤¦¤ÈÁÛ¤¤¤Þ¤¹¡£

¤Ç¤Ï

2010-12-23

À¸ÊüÁ÷¥µ¥¤¥È¤òºî¤ê¤Þ¤¹

Ãμ±0¡¢ÀßÈ÷0¤«¤é¼«Â𥵡¼¥Ð¡¼¤ÇÀ¸ÊüÁ÷¥µ¥¤¥È¤Î³«ÀߤòÌܻؤ·¤Þ¤¹¡£

2010ǯ12·î23Æü¸½ºß¡¢C/C#/Perl¤ò¤Á¤ç¤Ã¤È¤«¤¸¤Ã¤¿ÄøÅÙ¡£


º£¤Î¤È¤³¤í¹½Áۤϰʲ¼¤Î¤È¤ª¤ê

À¸ÊüÁ÷¥µ¥¤¥È¡Ê²¾¡Ë

¥¢¥«¥¦¥ó¥È̵¤·¤ÇÊüÁ÷²Äǽ

±ÇÁü¾å¤Ë¥³¥á¥ó¥È¤òή¤¹µ¡Ç½


ÌÜŪ¤Ï¡¢¹âÀì¤Ç¤Î´¸¦¡¢¹âÀ쥫¥ó¥Õ¥¡¤Ç¤Îȯɽ¡£