예제 #1
0
        /// <summary>
        /// Beにログインします
        /// </summary>
        /// <param name="mail">メールアドレス</param>
        /// <param name="password">パスワード</param>
        public async Task <bool> Login(string mail, string password)
        {
            string           postData = String.Format("m={0}&p={1}&submit=%C5%D0%CF%BF", mail, password);
            CookieCollection cc       = BBS.Common.HttpClient.CookieManagement.ReadCookieFromDisk();

            Common.HttpClient hc = new Common.HttpClient("http://be.2ch.net/test/login.php");
            hc.Cookies = new CookieCollection();
            string data = await hc.PostStringAsync(postData);

            if (data.Contains("パスワードかメールアドレスが正しくないようです。"))
            {
                return(false);
            }
            int i = 0;

            foreach (Cookie item in hc.Cookies)
            {
                i++;
            }
            if (i == 0)
            {
                return(false);
            }
            cc.Add(hc.Cookies);
            Common.HttpClient.CookieManagement.WriteCookieToDisk(cc);
            Common.HttpClient.CookieManagement.RearrangeCookie();
            return(true);
        }
예제 #2
0
        /// <summary>
        /// レスをしたらばに送信します
        /// </summary>
        /// <param name="postData">送信するデータを収めたDictionary&lt;string,string&gt;</param>
        /// <param name="isThread">スレッドである場合はtrue,レスである場合はfalse</param>
        /// <param name="td">スレッドの情報</param>
        /// <returns>成功の可否</returns>
        public async Task <bool> PostJbbs(Dictionary <string, string> postData, bool isThread, Chron.ThreadOrResData.ThreadData td)
        {
            hc = new Common.HttpClient(hostAddress);
            bool isCan = false;

            hc.Encoding             = "EUC-JP";
            hc.Host                 = "jbbs.livedoor.jp";
            hc.IsReadCookieFromHost = true;
            if (!isThread)
            {
                hc.Referer = "http://jbbs.shitaraba.net/bbs/read.cgi/" + postData["DIR"] + "/" + postData["BBS"] + "/" + postData["KEY"] + "/";
            }
            else
            {
                hc.Referer = "http://jbbs.shitaraba.net/" + postData["DIR"] + "/" + postData["BBS"] + "/";
            }
            StringBuilder sb = new StringBuilder();

            foreach (KeyValuePair <string, string> item in postData)
            {
                sb.Append(item.Key);
                sb.Append("=");
                sb.Append(item.Value);
                sb.Append("&");
            }
            if (isThread)
            {
                sb.Append("submit=新規スレッド作成");
            }
            else
            {
                sb.Append("submit=書き込む");
            }
            string postString = sb.ToString().TrimEnd('&');
            string data       = await hc.PostStringAsync(postString);

            if (data.Contains("書きこみました。"))
            {
                base.WriteRecords(postData, td);
                return(isCan = true);
            }

            return(isCan);
        }