/// <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); }
/// <summary> /// レスをしたらばに送信します /// </summary> /// <param name="postData">送信するデータを収めたDictionary<string,string></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); }