public bool TwitterLogin(string mail, string password) { GetHeader header1 = new GetHeader() .setHost("lobi.co") .setConnection(true) .setAccept("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); string source = this.NetworkAPI.get("https://lobi.co/signup/twitter", header1); string authenticity_token = Pattern.get_string(source, Pattern.authenticity_token, "\""); string redirect_after_login = Pattern.get_string(source, Pattern.redirect_after_login, "\""); string oauth_token = Pattern.get_string(source, Pattern.oauth_token, "\""); string post_data = string.Format("authenticity_token={0}&redirect_after_login={1}&oauth_token={2}&session%5Busername_or_email%5D={3}&session%5Bpassword%5D={4}", authenticity_token, WebUtility.UrlEncode(redirect_after_login), oauth_token, mail, password); PostHeader header2 = new PostHeader() .setHost("api.twitter.com") .setConnection(true) .setAccept("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6") .setOrigin("https://api.twitter.com"); string source2 = this.NetworkAPI.post_x_www_form_urlencoded("https://api.twitter.com/oauth/authorize", post_data, header2); if (source2.IndexOf("Twitterにログイン") > -1) { return(false); } return(this.NetworkAPI.get(Pattern.get_string(source2, Pattern.twitter_redirect_to_lobi, "\""), header1).IndexOf("ログインに失敗しました") == -1); }
public string post_form_data(string url, string boundary, string[] data, PostHeader header) { string post_data = ""; foreach (string cdata in data) { post_data += "--" + boundary + "\r\n" + cdata + "\r\n"; } post_data += "--" + boundary + "--"; byte[] data_bytes = Encoding.UTF8.GetBytes(post_data); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; if (header.Host != "") { req.Host = header.Host; } req.KeepAlive = header.Connection; if (header.Accept != "") { req.Accept = header.Accept; } if (header.Origin != "") { req.Headers.Add("Origin", header.Origin); } if (header.UserAgent != "") { req.UserAgent = header.UserAgent; } req.ContentType = "multipart/form-data; boundary=" + boundary; if (header.Referer != "") { req.Referer = header.Referer; } if (header.AcceptEncoding != "") { req.Headers.Add("Accept-Encoding", header.AcceptEncoding); } if (header.AcceptLanguage != "") { req.Headers.Add("Accept-Language", header.AcceptLanguage); } req.CookieContainer = this.cookie; using (Stream stream = req.GetRequestStream()) stream.Write(data_bytes, 0, data_bytes.Length); string result = ""; using (HttpWebResponse res = (HttpWebResponse)req.GetResponse()) { using (StreamReader reader = new StreamReader(res.GetResponseStream(), Encoding.UTF8)) result = reader.ReadToEnd(); } return(result); }
// no optional parameter support :( https://stackoverflow.com/questions/44208838/viewcomponent-with-optional-parameters public IViewComponentResult Invoke(PostHeader Post, bool IsDeletable, int DeletePostId = 0, int UserId = 0) { return(View(new PostSpecification { Post = Post, IsDeletable = IsDeletable, DeletePostId = DeletePostId, UserId = UserId })); }
public void ChangeProfile(string name, string description) { PostHeader header = new PostHeader() .setHost("web.lobi.co") .setConnection(true) .setAccept("application/json, text/plain, */*") .setOrigin("https://web.lobi.co") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); this.NetworkAPI.post_form_data("https://web.lobi.co/api/me/profile", "----WebKitFormBoundary" + Guid.NewGuid().ToString("N").Substring(0, 16), new string[] { "Content-Disposition: form-data; name=\"name\"\r\n\r\n" + name, "Content-Disposition: form-data; name=\"description\"\r\n\r\n" + description }, header); }
public MakePrivateGroupResult MakePrivateGroup(string user_id) { PostHeader header = new PostHeader() .setHost("web.lobi.co") .setConnection(true) .setAccept("application/json, text/plain, */*") .setOrigin("https://web.lobi.co") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); return(JsonConvert.DeserializeObject <MakePrivateGroupResult>(this.NetworkAPI.post_form_data("https://web.lobi.co/api/groups/1on1s", "----WebKitFormBoundary" + Guid.NewGuid().ToString("N").Substring(0, 16), new string[] { "Content-Disposition: form-data; name=\"user\"\r\n\r\n" + user_id }, header))); }
public void RemoveGroup(string group_id) { PostHeader header = new PostHeader() .setHost("web.lobi.co") .setConnection(true) .setAccept("application/json, text/plain, */*") .setOrigin("https://web.lobi.co") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); this.NetworkAPI.post_x_www_form_urlencoded("https://web.lobi.co/api/group/" + group_id + "/remove", "", header); }
public void UnBoo(string group_id, string chat_id) { PostHeader header = new PostHeader() .setHost("web.lobi.co") .setConnection(true) .setAccept("application/json, text/plain, */*") .setOrigin("https://web.lobi.co") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); this.NetworkAPI.post_form_data("https://web.lobi.co/api/group/" + group_id + "/chats/unboo", "----WebKitFormBoundary" + Guid.NewGuid().ToString("N").Substring(0, 16), new string[] { "Content-Disposition: form-data; name=\"id\"\r\n\r\n" + chat_id }, header); }
public string post(string url, PostHeader header, string data) { byte[] data_bytes = Encoding.UTF8.GetBytes(data); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; if (header.Host != "") { req.Host = header.Host; } req.KeepAlive = header.Connection; if (header.Accept != "") { req.Accept = header.Accept; } if (header.Origin != "") { req.Headers.Add("Origin", header.Origin); } if (header.UserAgent != "") { req.UserAgent = header.UserAgent; } if (header.ContentType != "") { req.ContentType = header.ContentType; } if (header.Referer != "") { req.Referer = header.Referer; } if (header.AcceptEncoding != "") { req.Headers.Add("Accept-Encoding", header.AcceptEncoding); } if (header.AcceptLanguage != "") { req.Headers.Add("Accept-Language", header.AcceptLanguage); } req.CookieContainer = this.cookie; using (Stream stream = req.GetRequestStream()) stream.Write(data_bytes, 0, data_bytes.Length); string result = ""; using (HttpWebResponse res = (HttpWebResponse)req.GetResponse()) { using (StreamReader reader = new StreamReader(res.GetResponseStream(), Encoding.UTF8)) result = reader.ReadToEnd(); } return(result); }
public void MakeThread(string group_id, string message, bool shout = false) { PostHeader header = new PostHeader() .setHost("web.lobi.co") .setConnection(true) .setAccept("application/json, text/plain, */*") .setOrigin("https://web.lobi.co") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); this.NetworkAPI.post_form_data("https://web.lobi.co/api/group/" + group_id + "/chats", "----WebKitFormBoundary" + Guid.NewGuid().ToString("N").Substring(0, 16), new string[] { "Content-Disposition: form-data; name=\"type\"\r\n\r\n" + (shout ? "shout" : "normal"), "Content-Disposition: form-data; name=\"lang\"\r\n\r\nja", "Content-Disposition: form-data; name=\"message\"\r\n\r\n" + message }, header); }
internal static PostHeaderEntity Convert(this PostHeader dto) { if (dto == null) { return(null); } return(new PostHeaderEntity { Id = dto.Id, Title = dto.Title }); }
public static IEnumDataPages<PostHeader> GetHeaderPageData(WebResult webResult) { XXElement xeSource = new XXElement(webResult.Http.zGetXDocument().Root); string url = webResult.WebRequest.HttpRequest.Url; PostHeaderDataPage<PostHeader> data = new PostHeaderDataPage<PostHeader>(); data.SourceUrl = url; data.LoadFromWebDate = webResult.LoadFromWebDate; data.Id = GetPageKey(webResult.WebRequest.HttpRequest); data.UrlNextPage = null; // <div id="vba_news4"> IEnumerable<XXElement> xeHeaders = xeSource.XPathElements("//div[@id='vba_news4']//div[@class='collapse']"); List<PostHeader> headers = new List<PostHeader>(); foreach (XXElement xeHeader in xeHeaders) { PostHeader header = new PostHeader(); header.SourceUrl = url; header.LoadFromWebDate = webResult.LoadFromWebDate; //XXElement xe = xeHeader.XPathElement(".//h2[@class='blockhead']//a[@class!='mcbadge mcbadge_r']"); XXElement xe = xeHeader.XPathElement(".//h2[@class='blockhead']//a[2]"); header.Title = xe.XPathValue(".//text()"); header.UrlDetail = xe.XPathValue("./@href"); //header.images = xeHeader.XPathImages(xeImg => new UrlImage(zurl.GetUrl(url, xeImg.zAttribValue("src")))).ToList(); //XXElement xe = xeHeader.XPathElement(".//*[@class='shd']//a"); //header.urlDetail = zurl.GetUrl(url, xe.XPathValue("@href")); //header.title = RapideDdl.ExtractTextValues(header.infos, xe.XPathValue(".//text()", RapideDdl.TrimFunc1)); //xe = xeHeader.XPathElement(".//div[@class='shdinfo']"); //header.postAuthor = xe.XPathValue(".//span[@class='arg']//a//text()"); //// Aujourd'hui, 17:13 //header.creationDate = RapideDdl.ParseDateTime(xe.XPathValue(".//span[@class='date']//text()"), loadDataFromWeb.loadFromWebDate); //xe = xeHeader.XPathElement(".//div[@class='maincont']"); //header.images = xe.XPathImages(xeImg => new UrlImage(zurl.GetUrl(url, xeImg.zAttribValue("src")))).ToList(); //RapideDdl.SetTextValues(header, xe.DescendantTextList()); //xe = xeHeader.XPathElement(".//div[@class='morelink']//span[@class='arg']"); //header.category = xe.DescendantTextList(".//a").Select(RapideDdl.TrimFunc1).Where(s => !s.StartsWith("Commentaires")).zToStringValues("/"); //pb.Trace.WriteLine(header.Title); headers.Add(header); } data.Headers = headers.ToArray(); return data; }
public static HeaderViewModel Convert(this PostHeader dto) { if (dto == null) { return(null); } return(new HeaderViewModel { BodyId = dto.BodyId, Id = dto.Id, Title = dto.Title, Tags = dto.Tags.Select(t => t.Text) }); }
public static List <PostHeader> HeaderCombin(Dictionary <string, string> HeadSetValue) { List <PostHeader> headerList = new List <PostHeader>(); PostHeader data = new PostHeader(); foreach (var head in HeadSetValue) { data.HeaderKey = head.Key; data.HeaderContent = head.Value; } //data.HeaderKey = "Authorization"; //data.HeaderContent = $"Bearer {this._Token}"; headerList.Add(data); return(headerList); }
public bool Login(string mail, string password) { GetHeader header1 = new GetHeader() .setHost("lobi.co") .setConnection(true) .setAccept("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6"); string source = this.NetworkAPI.get("https://lobi.co/signin", header1); string csrf_token = Pattern.get_string(source, Pattern.csrf_token, "\""); string post_data = string.Format("csrf_token={0}&email={1}&password={2}", csrf_token, mail, password); PostHeader header2 = new PostHeader() .setHost("lobi.co") .setConnection(true) .setAccept("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8") .setUserAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36") .setAcceptLanguage("ja,en-US;q=0.8,en;q=0.6") .setOrigin("https://lobi.co") .setReferer("https://lobi.co/signin"); return(this.NetworkAPI.post_x_www_form_urlencoded("https://lobi.co/signin", post_data, header2).IndexOf("ログインに失敗しました") == -1); }
// header get data protected override IEnumDataPages <IHeaderData> GetHeaderPageData(WebResult webResult) { XXElement xeSource = new XXElement(webResult.Http.zGetXDocument().Root); string url = webResult.WebRequest.HttpRequest.Url; PostHeaderDataPage_v1 data = new PostHeaderDataPage_v1(); //PostHeaderDataPage<PostHeader> data = new PostHeaderDataPage<PostHeader>(); data.SourceUrl = url; data.LoadFromWebDate = webResult.LoadFromWebDate; data.Id = GetPageKey(webResult.WebRequest.HttpRequest); // <div id="page"> // <div id="wrapper"> // <table id="layout"> // <tr> // <td></td> // <td> // <div id="left-col"> // <div id="content-padding"> // <div id="content"> // <div style="height:264px;" class="cover_global" data-zt="divbyzt">...</div> // ... // </div> data.UrlNextPage = zurl.GetUrl(url, xeSource.XPathValue("//div[@class='page-nav']//li[last()]//a[text()='>']/@href")); IEnumerable <XXElement> xeHeaders = xeSource.XPathElements("//table[@id='layout']//div[@id='content']/div"); //List<Vosbooks_PostHeader> headers = new List<Vosbooks_PostHeader>(); List <PostHeader> headers = new List <PostHeader>(); foreach (XXElement xeHeader in xeHeaders) { //Vosbooks_PostHeader header = new Vosbooks_PostHeader(); PostHeader header = new PostHeader(); header.SourceUrl = url; header.LoadFromWebDate = webResult.LoadFromWebDate; if (xeHeader.XPathValue("@class") == "page-nav") { continue; } // <div style="" data-zt="divbyzt"> // <div data-zt="divbyzt"> // <div data-zt="divbyzt"> // <center> // <strong> // <a href="http://www.vosbooks.net/74231-journaux/pack-journaux-francais-du-28-janvier-2015.html" title=""> // Pack Journaux Français Du 28 Janvier 2015 // <span class="detail_release" data-zt="spanbyzt"></span> // </a> // </strong> // </center> // </div> // </div> // </div> XXElement xe = xeHeader.XPathElement(".//div/div/div//a"); header.Title = xe.XPathValue(".//text()"); header.UrlDetail = xe.XPathValue("./@href"); //header.images = xeHeader.XPathImages(xeImg => new UrlImage(zurl.GetUrl(url, xeImg.zAttribValue("src")))).ToList(); //XXElement xe = xeHeader.XPathElement(".//*[@class='shd']//a"); //header.urlDetail = zurl.GetUrl(url, xe.XPathValue("@href")); //header.title = RapideDdl.ExtractTextValues(header.infos, xe.XPathValue(".//text()", RapideDdl.TrimFunc1)); //xe = xeHeader.XPathElement(".//div[@class='shdinfo']"); //header.postAuthor = xe.XPathValue(".//span[@class='arg']//a//text()"); //// Aujourd'hui, 17:13 //header.creationDate = RapideDdl.ParseDateTime(xe.XPathValue(".//span[@class='date']//text()"), loadDataFromWeb.loadFromWebDate); //xe = xeHeader.XPathElement(".//div[@class='maincont']"); //header.images = xe.XPathImages(xeImg => new UrlImage(zurl.GetUrl(url, xeImg.zAttribValue("src")))).ToList(); //RapideDdl.SetTextValues(header, xe.DescendantTextList()); //xe = xeHeader.XPathElement(".//div[@class='morelink']//span[@class='arg']"); //header.category = xe.DescendantTextList(".//a").Select(RapideDdl.TrimFunc1).Where(s => !s.StartsWith("Commentaires")).zToStringValues("/"); headers.Add(header); } data.Headers = headers.ToArray(); return(data); }