private static HttpWebRequest GenerateDefaultProfile(string requestURI, string method = "GET") { HttpWebRequest webRequest = WebRequest.CreateHttp(requestURI); webRequest.Method = method.ToUpper(); webRequest.ContentType = "application/x-www-form-urlencoded; charset=utf-8"; webRequest.CookieContainer = new CookieContainer(); webRequest.CookieContainer = WebViewWindow.GetUriCookieContainer(new Uri("https://story.kakao.com/")); webRequest.Headers["X-Kakao-DeviceInfo"] = "web:d;-;-"; webRequest.Headers["X-Kakao-ApiLevel"] = "46"; webRequest.Headers["X-Requested-With"] = "XMLHttpRequest"; webRequest.Headers["X-Kakao-VC"] = Guid.NewGuid().ToString().ToLower().Substring(0, 20); webRequest.Headers["Cache-Control"] = "max-age=0"; webRequest.Headers["Accept-Encoding"] = "gzip, deflate, br"; webRequest.Headers["Accept-Language"] = "ko"; webRequest.Headers["DNT"] = "1"; //webRequest.Headers["authority"] = "story.kakao.com"; webRequest.Referer = "https://story.kakao.com/"; webRequest.KeepAlive = true; webRequest.UseDefaultCredentials = true; webRequest.Host = "story.kakao.com"; webRequest.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"; webRequest.Accept = "application/json"; webRequest.AutomaticDecompression = DecompressionMethods.GZip; webRequest.Date = DateTime.Now; return(webRequest); }
private void TryLogin() { if (BT_Login.IsEnabled) { PR_Login.Visibility = Visibility.Visible; TB_Login.Visibility = Visibility.Collapsed; TB_LoginProgress.Visibility = Visibility.Visible; TB_Logout.Visibility = Visibility.Collapsed; IMG_Login.Visibility = Visibility.Collapsed; BT_Login.IsEnabled = false; Instance = this; if (Properties.Settings.Default.AutoLogin) { Properties.Settings.Default.AutoEmail = TBX_Email.Text; Properties.Settings.Default.AutoPassword = TBX_Password.Password; Properties.Settings.Default.Save(); } try { WebViewWindow webViewWindow = new WebViewWindow(); webViewWindow.Show(); webViewWindow.Hide(); } catch (Exception e) { TB_Login.Text = "로그인"; BT_Login.IsEnabled = true; MessageBox.Show("로그인 에러가 발생했습니다.\n" + e.StackTrace); } } }
private async Task <bool> GetPercentVideo(string access_key) { string requestURI = "https://story.kakao.com/a/kage/video/wcheck/" + access_key + "/?_t=0"; HttpWebRequest request = WebRequest.CreateHttp(requestURI); request.Method = "GET"; request.CookieContainer = new CookieContainer(); request.CookieContainer = WebViewWindow.GetUriCookieContainer(new Uri("https://story.kakao.com/")); request.Headers["X-Kakao-DeviceInfo"] = "web:d;-;-"; request.Headers["X-Kakao-ApiLevel"] = "46"; request.Headers["X-Requested-With"] = "XMLHttpRequest"; request.Headers["X-Kakao-VC"] = "185412afe1da9580e67f"; request.Headers["Accept-Encoding"] = "gzip, deflate, br"; request.Headers["Accept-Language"] = "ko"; request.Headers["DNT"] = "1"; request.AutomaticDecompression = DecompressionMethods.GZip; request.Headers["authority"] = "story.kakao.com"; request.Referer = "https://story.kakao.com/"; request.KeepAlive = true; request.UseDefaultCredentials = true; request.Host = "story.kakao.com"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"; request.Accept = "application/json"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); var respReader = response.GetResponseStream(); string respResult = new StreamReader(respReader).ReadToEnd(); respReader.Close(); response.Close(); VideoData.Percent pecrentData = JsonConvert.DeserializeObject <VideoData.Percent>(respResult); if (pecrentData.code == 200 && pecrentData.percent == 100) { return(true); } else { await Task.Delay(1500); return(await GetPercentVideo(access_key)); } }
private async Task <bool> GetMetaVideo(string access_key) { string requestURI = "https://story.kakao.com/a/kage/video/dn/" + access_key + "/meta.json"; HttpWebRequest request = WebRequest.CreateHttp(requestURI); request.Method = "GET"; request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.CookieContainer = new CookieContainer(); request.CookieContainer = WebViewWindow.GetUriCookieContainer(new Uri("https://story.kakao.com/")); request.Headers["X-Kakao-DeviceInfo"] = "web:d;-;-"; request.Headers["X-Kakao-ApiLevel"] = "46"; request.Headers["X-Requested-With"] = "XMLHttpRequest"; request.Headers["X-Kakao-VC"] = "185412afe1da9580e67f"; request.Headers["Cache-Control"] = "max-age=0"; request.Headers["Accept-Encoding"] = "gzip, deflate, br"; request.Headers["Accept-Language"] = "ko"; request.Headers["DNT"] = "1"; request.Headers["authority"] = "story.kakao.com"; request.Referer = "https://story.kakao.com/"; request.KeepAlive = true; request.UseDefaultCredentials = true; request.Host = "story.kakao.com"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"; request.Accept = "application/json"; var readStream = await request.GetResponseAsync(); var respReader = readStream.GetResponseStream(); await new StreamReader(respReader, Encoding.UTF8).ReadToEndAsync(); respReader.Close(); return(true); }
private async Task <bool> WriteText(string text, string permission, bool isCommentable, bool isSharable) { text = text.Replace("\"", "\\\""); text = text.Replace("\r\n", "\\n"); text = text.Replace("\n", "\\n"); text = text.Replace("\r", "\\n"); string commentable = isCommentable ? "true" : "false"; string sharable = isSharable ? "true" : "false"; List <QuoteData> rawContent = GlobalHelper.GetQuoteDataFromString(text); string textContent = Uri.EscapeDataString(JsonConvert.SerializeObject(rawContent, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore })); StringBuilder postDataBuilder = new StringBuilder(); postDataBuilder.Append("permission=" + permission + "&comment_all_writable=" + commentable + "&is_must_read=false&enable_share=" + sharable); postDataBuilder.Append("&content=" + textContent); if (with_ids.Count > 0) { postDataBuilder.Append("&with_tags=" + Uri.EscapeDataString(JsonConvert.SerializeObject(with_ids))); } if (trust_ids.Count > 0) { postDataBuilder.Append("&allowed_profile_ids=" + Uri.EscapeDataString(JsonConvert.SerializeObject(trust_ids))); } if (mediaText != null) { postDataBuilder.Append("&" + Uri.EscapeDataString("media") + "=" + Uri.EscapeDataString(mediaText)); } foreach (string mediaPath in editOldMediaPath) { postDataBuilder.Append("&" + Uri.EscapeDataString("old_media_path[]") + "=" + Uri.EscapeDataString(mediaPath)); } if (linkData != null) { postDataBuilder.Append("&scrap_content=" + Uri.EscapeDataString(linkData)); } assets.Clear(); string postData = postDataBuilder.ToString(); byte[] byteArray = Encoding.UTF8.GetBytes(postData); string requestURI = "https://story.kakao.com/a/activities"; if (isEdit) { requestURI = "https://story.kakao.com/a/activities/" + editFeedID + "/content"; } HttpWebRequest request = WebRequest.CreateHttp(requestURI); request.Method = "POST"; if (isEdit) { request.Method = "PUT"; } request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.CookieContainer = WebViewWindow.GetUriCookieContainer(new Uri("https://story.kakao.com")); request.Headers["X-Kakao-DeviceInfo"] = "web:d;-;-"; request.Headers["X-Kakao-ApiLevel"] = "46"; request.Headers["X-Requested-With"] = "XMLHttpRequest"; request.Headers["X-Kakao-VC"] = "185412afe1da9580e67f"; request.Headers["Cache-Control"] = "max-age=0"; request.Headers["Accept-Encoding"] = "gzip, deflate, br"; request.Headers["Accept-Language"] = "ko"; request.Headers["DNT"] = "1"; request.Headers["authority"] = "story.kakao.com"; request.Referer = "https://story.kakao.com"; request.KeepAlive = true; request.UseDefaultCredentials = true; request.Host = "story.kakao.com"; request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"; request.Accept = "application/json"; Stream writeStream = await request.GetRequestStreamAsync(); writeStream.Write(byteArray, 0, byteArray.Length); var readStream = await request.GetResponseAsync(); var respReader = readStream.GetResponseStream(); await(new StreamReader(respReader, Encoding.UTF8)).ReadToEndAsync(); respReader.Close(); return(true); }