Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
                }
            }
        }
Esempio n. 3
0
        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));
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }