Exemplo n.º 1
0
        public bool Post(string NaverID, string NaverPW, string title, string content, int category)
        {
            try
            {
                content = HttpUtility.UrlEncode(content, Encoding.GetEncoding(949));
                title   = HttpUtility.UrlEncode(title, Encoding.GetEncoding(949));
                WinHttpRequest ht = new WinHttpRequest();
                ht.Open("POST", "https://nid.naver.com/nidlogin.login");
                ht.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                ht.SetRequestHeader("Referer", "https://nid.naver.com/nidlogin.login");
                ht.Send("enctp=2&url=http://www.naver.com&enc_url=http://www.naver.com&postDataKey=&saveID=0&nvme=0&smart_level=1&id=" + NaverID + "&pw=" + NaverPW);
                ht.WaitForResponse();
                string[] cookie      = ht.GetAllResponseHeaders().Split(new string[] { "\r\n" }, StringSplitOptions.None);
                int      cookieCount = 0;
                foreach (String header in cookie)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        cookieCount++;
                    }
                }
                String[] cookies = new String[cookieCount];
                cookieCount = 0;
                foreach (String header in cookie)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        String cookie1 = header.Replace("Set-Cookie: ", "");
                        cookies[cookieCount] = cookie1;
                    }
                }
                string Fcookie = "";

                foreach (string cds in cookies)
                {
                    Fcookie += cds;
                }
                //로그인 종료

                ht.Open("GET", "http://blog.naver.com/PostWriteForm.nhn?blogId=" + NaverID + "&Redirect=Write&useSmartEditorVersion=2&redirect=Write&widgetTypeCall=true");
                ht.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                ht.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                ht.SetRequestHeader("Cookie", Fcookie);
                ht.SetRequestHeader("Host", "blog.naver.com");
                ht.SetRequestHeader("Referer", "http://blog.naver.com/" + NaverID + "?Redirect=Write");
                ht.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                ht.Send();
                string blogNo       = Regex.Split(Regex.Split(ht.ResponseText, "var blogNo = '")[1], "';")[0];
                string nowYear      = Regex.Split(Regex.Split(ht.ResponseText, "var nowYear = \"")[1], "\";")[0];
                string nowMount     = Regex.Split(Regex.Split(ht.ResponseText, "var nowMonth = \"")[1], "\";")[0];
                string nowDate      = Regex.Split(Regex.Split(ht.ResponseText, "var nowDate = \"")[1], "\";")[0];
                string nowHour      = Regex.Split(Regex.Split(ht.ResponseText, "var nowHour = \"")[1], "\";")[0];
                string nowMinute    = Regex.Split(Regex.Split(ht.ResponseText, "var nowMinute = \"")[1], "\";")[0];
                string editorSource = Regex.Split(Regex.Split(ht.ResponseText, "name=\"editorSource\" value=\"")[1], "\">")[0];

                ht.Open("POST", "http://blog.naver.com/TempPostWriteAsync.nhn");
                ht.SetRequestHeader("Accept", "*/*");
                ht.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                ht.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
                ht.SetRequestHeader("Cookie", Fcookie);
                ht.SetRequestHeader("Host", "blog.naver.com");
                ht.SetRequestHeader("Referer", "http://blog.naver.com/" + NaverID + "/postwrite");
                ht.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                string postdata = "captchaKey=&captchaValue=&appId=&tempLogNo=&blogId=" + NaverID + "&post.logNo=&post.sourceCode=0&post.contents.contentsValue=" + content + "&post.prePostRegistDirectly=false&post.lastRelayTime=&smartEditorVersion=2&post.book.ratingScore=0&post.music.ratingScore=0&post.movie.ratingScore=0&post.scrapedYn=false&post.clientType=&post.contents.summaryYn=false&post.contents.summaryToggleText=&post.contents.summaryTogglePosition=&post.templatePhoto.width=0&post.templatePhoto.height=0&post.addedInfoSet.addedInfoStruct=&post.mapAttachmentSet.mapAttachStruct=&post.calendarAttachmentSet.calendarAttachmentStruct=&post.musicPlayerAttachmentSet.musicPlayerAttachmentStruct=&post.eventWriteInfo.eventCode=&post.eventWriteInfo.writeCode=&post.eventWriteInfo.eventType=&post.eventWriteInfo.eventLink=&post.postOptions.openType=2&post.postOptions.commentYn=true&post.postOptions.isRelayOpen=&post.postOptions.sympathyYn=true&post.postOptions.outSideAllowYn=true&post.me2dayPostingYn=&post.facebookPostingYn=false&post.twitterPostingYn=false&post.postOptions.searchYn=true&post.postOptions.rssOpenYn=true&post.postOptions.scrapType=2&post.postOptions.ccl.commercialUsesYn=false&post.postOptions.ccl.contentsModification=&post.postOptions.noticePostYn=false&directorySeq=0&directoryDetail=&post.bookTheme.infoPk=&post.movieTheme.infoPk=&post.musicTheme.infoPk=&post.kitchenTheme.recipeName=&post.postOptions.directoryOptions.directoryChangeYn=false&post.postOptions.directoryOptions.tagAutoChangedYn=false&post.postOptions.isAutoTaggingEnabled=true&post.postOptions.greenReviewBannerYn=false&previewGreenReviewBannerAsInteger=0&post.leverageOptions.themeSourceCode=&post.music.subType=&post.postOptions.isContinueSaved=false&post.mrBlogTalk.talkCode=&happyBeanGiveDayReqparam=&post.postOptions.isExifEnabled=false&editorSource=" + editorSource + "&post.category.categoryNo=" + category.ToString() + "&post.title=" + title + "&ir1=%0A%0A&query=%EC%A7%80%EC%97%AD%EB%AA%85%EC%9D%84%20%EC%9E%85%EB%A0%A5%ED%95%B4%20%EC%A3%BC%EC%84%B8%EC%9A%94&char_preview=%C2%AE%C2%BA%E2%8A%86%E2%97%8F%E2%97%8B&se2_tbp=on&se2_tbp3=on&=on&post.directorySeq=0&post.tag.names=%ED%83%9C%EA%B7%B8%EC%99%80%20%ED%83%9C%EA%B7%B8%EB%8A%94%20%EC%89%BC%ED%91%9C%EB%A1%9C%20%EA%B5%AC%EB%B6%84%ED%95%98%EB%A9%B0%2C%2010%EA%B0%9C%EA%B9%8C%EC%A7%80%20%EC%9E%85%EB%A0%A5%ED%95%98%EC%8B%A4%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.&openType=2&post.postWriteTimeType=now&prePostDay=" + DateTime.Now.ToString("yyyy년 MM월 dd일") + "&prePostDateType.hour=" + nowHour + "&prePostDateType.minute=" + nowMinute + "&prePostDateType.year=&prePostDateType.month=&prePostDateType.date=&commercialUses=false&contentsModification=0&writingMaterialInfos=%5B%5D";
                ht.Send(postdata);
                string postlogNo = ht.ResponseText;

                ht.Open("POST", "http://blog.naver.com/PostWrite.nhn");
                ht.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                ht.SetRequestHeader("Accept-Encoding", "deflate");
                ht.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                ht.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                ht.SetRequestHeader("Cookie", Fcookie);
                ht.SetRequestHeader("Host", "blog.naver.com");
                ht.SetRequestHeader("Referer", "http://blog.naver.com/" + NaverID + "/postwrite");
                ht.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                //string postdata2 = "captchaKey=&captchaValue=&appId=&tempLogNo=&blogId=" + NaverID + "&post.logNo=" + postlogNo + "&post.sourceCode=0&post.contents.contentsValue=<p>" + content + "</p>&post.prePostRegistDirectly=false&post.lastRelayTime=&smartEditorVersion=2&post.book.ratingScore=0&post.music.ratingScore=0&post.movie.ratingScore=0&post.scrapedYn=false&post.clientType=&post.contents.summaryYn=false&post.contents.summaryToggleText=&post.contents.summaryTogglePosition=&post.templatePhoto.width=0&post.templatePhoto.height=0&post.addedInfoSet.addedInfoStruct=&post.mapAttachmentSet.mapAttachStruct=&post.calendarAttachmentSet.calendarAttachmentStruct=&post.musicPlayerAttachmentSet.musicPlayerAttachmentStruct=&post.eventWriteInfo.eventCode=&post.eventWriteInfo.writeCode=&post.eventWriteInfo.eventType=&post.eventWriteInfo.eventLink=&post.postOptions.openType=2&post.postOptions.commentYn=true&post.postOptions.isRelayOpen=&post.postOptions.sympathyYn=true&post.postOptions.outSideAllowYn=true&post.me2dayPostingYn=&post.facebookPostingYn=false&post.twitterPostingYn=false&post.postOptions.searchYn=true&post.postOptions.rssOpenYn=true&post.postOptions.scrapType=2&post.postOptions.ccl.commercialUsesYn=false&post.postOptions.ccl.contentsModification=&post.postOptions.noticePostYn=false&directorySeq=0&directoryDetail=&post.bookTheme.infoPk=&post.movieTheme.infoPk=&post.musicTheme.infoPk=&post.kitchenTheme.recipeName=&post.postOptions.directoryOptions.directoryChangeYn=false&post.postOptions.directoryOptions.tagAutoChangedYn=false&post.postOptions.isAutoTaggingEnabled=true&post.postOptions.greenReviewBannerYn=false&previewGreenReviewBannerAsInteger=0&post.leverageOptions.themeSourceCode=&post.music.subType=&post.postOptions.isContinueSaved=false&post.mrBlogTalk.talkCode=&happyBeanGiveDayReqparam=&post.postOptions.isExifEnabled=false&editorSource=" + editorSource + "&post.category.categoryNo=" + category.ToString() + "&post.title=" + title + "&ir1=<p>" + content + "</p>&query=%C1%F6%BF%AA%B8%ED%C0%BB+%C0%D4%B7%C2%C7%D8+%C1%D6%BC%BC%BF%E4&char_preview=%A2%E7%A8%AC%A1%F6%A1%DC%A1%DB&se2_tbp=on&se2_tbp3=on&post.directorySeq=0&post.tag.names=&openType=2&post.postWriteTimeType=now&prePostDay=2016%B3%E2+5%BF%F9+18%C0%CF&prePostDateType.hour=" + nowHour + "&prePostDateType.minute=" + nowMinute + "&prePostDateType.year=" + nowYear + "&prePostDateType.month=" + nowMount + "&prePostDateType.date=" + nowDate + "&commercialUses=false&contentsModification=0&writingMaterialInfos=%5B%5D";
                string postdata2 = "captchaKey=&captchaValue=&appId=&tempLogNo=&blogId=" + NaverID + "&post.logNo=" + postlogNo + "&post.sourceCode=0&post.contents.contentsValue=" + content + "&post.prePostRegistDirectly=false&post.lastRelayTime=&smartEditorVersion=2&post.book.ratingScore=0&post.music.ratingScore=0&post.movie.ratingScore=0&post.scrapedYn=false&post.clientType=&post.contents.summaryYn=false&post.contents.summaryToggleText=&post.contents.summaryTogglePosition=&post.templatePhoto.width=0&post.templatePhoto.height=0&post.addedInfoSet.addedInfoStruct=&post.mapAttachmentSet.mapAttachStruct=&post.calendarAttachmentSet.calendarAttachmentStruct=&post.musicPlayerAttachmentSet.musicPlayerAttachmentStruct=&post.eventWriteInfo.eventCode=&post.eventWriteInfo.writeCode=&post.eventWriteInfo.eventType=&post.eventWriteInfo.eventLink=&post.postOptions.openType=2&post.postOptions.commentYn=true&post.postOptions.isRelayOpen=&post.postOptions.sympathyYn=false&post.postOptions.outSideAllowYn=true&post.me2dayPostingYn=&post.facebookPostingYn=false&post.twitterPostingYn=false&post.postOptions.searchYn=true&post.postOptions.rssOpenYn=true&post.postOptions.scrapType=2&post.postOptions.ccl.commercialUsesYn=false&post.postOptions.ccl.contentsModification=&post.postOptions.noticePostYn=false&directorySeq=0&directoryDetail=&post.bookTheme.infoPk=&post.movieTheme.infoPk=&post.musicTheme.infoPk=&post.kitchenTheme.recipeName=&post.postOptions.directoryOptions.directoryChangeYn=false&post.postOptions.directoryOptions.tagAutoChangedYn=false&post.postOptions.isAutoTaggingEnabled=true&post.postOptions.greenReviewBannerYn=false&previewGreenReviewBannerAsInteger=0&post.leverageOptions.themeSourceCode=&post.music.subType=&post.postOptions.isContinueSaved=false&post.mrBlogTalk.talkCode=&happyBeanGiveDayReqparam=&post.postOptions.isExifEnabled=false&editorSource=" + editorSource + "&post.category.categoryNo=" + category.ToString() + "&post.title=" + title + "&ir1=" + content + "&query=%C1%F6%BF%AA%B8%ED%C0%BB+%C0%D4%B7%C2%C7%D8+%C1%D6%BC%BC%BF%E4&char_preview=%A2%E7%A8%AC%A1%F6%A1%DC%A1%DB&se2_tbp=on&se2_tbp3=on&post.directorySeq=0&post.tag.names=&openType=2&post.postWriteTimeType=now&prePostDay=2016%B3%E2+5%BF%F9+22%C0%CF&prePostDateType.hour=" + nowHour + "&prePostDateType.minute=" + nowMinute + "&prePostDateType.year=" + nowYear + "&prePostDateType.month=" + nowMount + "&prePostDateType.date=" + nowDate + "&commercialUses=false&contentsModification=0&writingMaterialInfos=%5B%5D";
                ht.Send(postdata2);
                if (ht.ResponseText.IndexOf("refresh") != -1)
                {
                    return(true);
                }
                else
                {
                    if (ht.ResponseText.IndexOf("비정상적") != -1)
                    {
                        Console.WriteLine("[E01] 네이버 블로그서비스 에서 등록거부를 Return 받았습니다.");
                    }
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 2
0
        public string KR(string English)
        {
            try
            {
                WinHttpRequest wt = new WinHttpRequest();
                wt.Open("POST", "https://www.bing.com/translator");
                wt.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                wt.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                wt.SetRequestHeader("Content-Type", "text/html; charset=utf-8");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send();
                string[] cookie      = wt.GetAllResponseHeaders().Split(new string[] { "\r\n" }, StringSplitOptions.None);
                int      cookieCount = 0;
                foreach (String header in cookie)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        cookieCount++;
                    }
                }
                String[] cookies = new String[cookieCount];
                cookieCount = 0;
                string Fcookie = "";
                foreach (String header in cookie)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        String cookie1 = header.Replace("Set-Cookie: ", "");
                        cookies[cookieCount] = cookie1;
                        Fcookie += cookie1;
                    }
                }
                string mtstkn  = "mtstkn=" + Regex.Split(Regex.Split(Fcookie, "mtstkn=")[1], ";")[0] + ";";
                string _EDGE_S = "_EDGE_S=" + Regex.Split(Regex.Split(Fcookie, "_EDGE_S=")[1], ";")[0] + ";";
                string EDGE_V  = "_EDGE_V=" + Regex.Split(Regex.Split(Fcookie, "_EDGE_V=")[1], ";")[0] + ";";
                string MUID    = "MUID=" + Regex.Split(Regex.Split(Fcookie, "MUID=")[1], ";")[0] + ";";
                string MUIDB   = "MUIDB=" + Regex.Split(Regex.Split(Fcookie, "MUIDB=")[1], ";")[0] + ";";
                Fcookie = ""; Fcookie = mtstkn + _EDGE_S + EDGE_V + MUID + MUIDB;

                wt.Open("GET", "https://www.bing.com/secure/Passport.aspx?popup=1&ssl=1");
                wt.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                wt.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                wt.SetRequestHeader("Content-Type", "text/html; charset=utf-8");
                wt.SetRequestHeader("Cookie", Fcookie);
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send();
                string[] cookie2      = wt.GetAllResponseHeaders().Split(new string[] { "\r\n" }, StringSplitOptions.None);
                int      cookieCount2 = 0;
                foreach (String header in cookie2)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        cookieCount2++;
                    }
                }
                String[] cookies2 = new String[cookieCount2];
                cookieCount2 = 0;
                string Fcookie2 = "";
                foreach (String header in cookie2)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        String cookie1 = header.Replace("Set-Cookie: ", "");
                        cookies2[cookieCount] = cookie1;
                        Fcookie2 += cookie1;
                    }
                }
                string SRCHUID = "SRCHUID=" + Regex.Split(Regex.Split(Fcookie, "SRCHUID=")[0], ";")[1] + ";";
                string SRCHUSR = "******" + Regex.Split(Regex.Split(Fcookie, "SRCHUSR="******";")[1] + ";";
                string _SSSID  = "_SS=SID=" + Regex.Split(Regex.Split(Fcookie, "_SS=SID=")[0], ";")[1] + ";";

                wt.Open("POST", "https://www.bing.com/translator/api/Translate/TranslateArray?from=en&to=ko");
                wt.SetRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01");
                wt.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                wt.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");
                wt.SetRequestHeader("Cookie", Fcookie + "destLang=ko; dmru_list=ko; destDia=ko-KR; SRCHD=AF=NOFORM;" + SRCHUID + SRCHUSR + _SSSID + "WLS=C=&N=; srcLang=-; smru_list=; sourceDia=en-US");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send("[{\"id\":2137,\"text\":\"" + English + "\"}]");
                return(Regex.Split(Regex.Split(wt.ResponseText, "\"text\": \"")[1], "\",")[0]);
            }
            catch
            {
                throw new Exception("시스템오류 발생");
            }
        }
        private void LoginButton_Click(object sender, RoutedEventArgs e)
        {
            WinHttpRequest winhttp = new WinHttpRequest();

            winhttp.Open("POST", "https://portal.koreatech.ac.kr/sso/sso_login.jsp");
            winhttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            winhttp.Send("user_id=id&user_pwd=pw&RelayState=%2Findex.jsp&id=PORTAL&targetId=PORTAL");
            winhttp.WaitForResponse();
            string WMONID     = Strings.Split(Strings.Split(winhttp.GetAllResponseHeaders(), "Set-Cookie: ")[1], "; ")[0];
            string JSessionID = Strings.Split(Strings.Split(winhttp.GetAllResponseHeaders(), "Set-Cookie: ")[2], " Path")[0];

            winhttp.Open("POST", "https://portal.koreatech.ac.kr/ktp/login/checkLoginId.do");
            winhttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
            winhttp.SetRequestHeader("Cookie", "WMONID=" + WMONID + "; JSESSIONID=" + JSessionID + " setNowLoginId=id");
            winhttp.Send("login_id=id&login_pwd=pw&login_type=&login_empno=&login_certDn=&login_certChannel=");
            winhttp.WaitForResponse();
            if (Strings.Split(Strings.Split(winhttp.ResponseText, "\"result\":\"")[1], "\"")[0] == "true")
            {
                int      cookie_cnt = Strings.Split(winhttp.GetAllResponseHeaders(), "Set-Cookie: ").Length - 1;
                string[] cookies    = new string[cookie_cnt];
                for (int i = 0; i < cookie_cnt; i++)
                {
                    cookies[i] = Strings.Split(Strings.Split(winhttp.GetAllResponseHeaders(), "Set-Cookie: ")[i + 1], " Domain")[0];
                }
                winhttp.Open("POST", "https://portal.koreatech.ac.kr/ktp/login/checkSecondLoginCert.do");
                winhttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
                string temp_cookie = WMONID + "; " + JSessionID;
                string re          = temp_cookie;
                for (int i = 0; i < cookie_cnt; i++)
                {
                    temp_cookie += " " + cookies[i];
                }
                winhttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
                winhttp.SetRequestHeader("Cookie", temp_cookie);

                winhttp.Send("login_id=id");
                winhttp.WaitForResponse();
                re += " setNowLoginId=id;";
                for (int i = 0; i < cookie_cnt; i++)
                {
                    re += " " + cookies[i];
                }
                //re += " kut_login_type=id; Domain=koreatech.ac.kr; Path=/; hostOnly=false;";
                re += " kut_login_type=id;";

                winhttp.Open("POST", "https://portal.koreatech.ac.kr/exsignon/sso/sso_assert.jsp");
                //winhttp.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
                //winhttp.SetRequestHeader("Accept-Encoding","gzip, deflate, br");
                //winhttp.SetRequestHeader("Accept-Language","ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7");
                //winhttp.SetRequestHeader("Cache-Control","max-age=0");
                //winhttp.SetRequestHeader("Connection","keep-alive");
                //winhttp.SetRequestHeader("Content-Length","73");
                winhttp.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                winhttp.SetRequestHeader("Cookie", re);
                //winhttp.SetRequestHeader("Host","portal.koreatech.ac.kr");
                //winhttp.SetRequestHeader("Origin", "https://portal.koreatech.ac.kr");
                //winhttp.SetRequestHeader("Referer","https://portal.koreatech.ac.kr/sso/sso_login.jsp");
                //winhttp.SetRequestHeader("Sec-Fetch-Dest","document");
                //winhttp.SetRequestHeader("Sec-Fetch-Mode","navigate");
                //winhttp.SetRequestHeader("Sec-Fetch-Site","same-origin");
                //winhttp.SetRequestHeader("Upgrade-Insecure-Request","1");
                //winhttp.SetRequestHeader("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36");
                winhttp.Send("certUserId=&certLoginId=&certEmpNo=&certType=&secondCert=&langKo=&langEn=");
                winhttp.WaitForResponse();
                Console.WriteLine();
            }
        }
Exemplo n.º 4
0
        public bool Post(string DaumID, string DaumPW, string BlogAddress, string title, string content, int categoryID)
        {
            try
            {
                string Fcookie = "";
                title   = HttpUtility.UrlEncode(title, Encoding.UTF8);
                content = HttpUtility.UrlEncode(content, Encoding.UTF8);
                WinHttpRequest wt = new WinHttpRequest();
                wt.Open("GET", "https://logins.daum.net/accounts/presrp.do?id=" + DaumID + "&srpla=" + DaumPW + "&_=1463758848866");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send();

                string rid   = Regex.Split(Regex.Split(wt.ResponseText, "rid\":\"")[1], "\",\"")[0];
                string srplb = Regex.Split(Regex.Split(wt.ResponseText, "srplb\":\"")[1], "\",\"")[0];

                wt.Open("POST", "https://logins.daum.net/accounts/msrp.do?rid=" + rid + "&srplm1=" + srplb);
                wt.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                wt.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                wt.SetRequestHeader("Referer", "https://logins.daum.net/accounts/msrp.do?rid=" + rid + "&srplm1=" + srplb);
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send("url=http%3A%2F%2Fwww.daum.net%2F&relative=&mobilefull=1&weblogin=1&id=" + DaumID + "&pw=");


                wt.Open("POST", "https://logins.daum.net/accounts/mobile.do");
                wt.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                wt.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                wt.SetRequestHeader("Referer", "https://logins.daum.net/accounts/loginform.do?mobilefull=1&url=http%3A%2F%2Fm.daum.net%3Fnil_rc%3DKZXd2c");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send("url=http%3A%2F%2Fm.daum.net%3Fnil_rc%3DKZXd2c&relative=&mobilefull=1&weblogin=1&id=" + DaumID + "&pw=" + DaumPW);

                string log = wt.GetResponseHeader("X-DaumLogin-Error");
                if (log.IndexOf("200") == -1)
                {
                    throw new Exception("올바르지 않은 ID 입니다.");
                }

                string[] cookie      = wt.GetAllResponseHeaders().Split(new string[] { "\n" }, StringSplitOptions.None);
                int      cookieCount = 0;
                foreach (String header in cookie)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        cookieCount++;
                    }
                }
                String[] cookies = new String[cookieCount];
                cookieCount = 0;
                foreach (String header in cookie)
                {
                    if (header.StartsWith("Set-Cookie: "))
                    {
                        String cookie1 = header.Replace("Set-Cookie: ", "");
                        Fcookie += cookie1;
                        cookies[cookieCount] = cookie1;
                    }
                }

                foreach (string cds in cookies)
                {
                    Fcookie += cds;
                }

                string TS     = "TS=\"" + Regex.Split(Regex.Split(Fcookie, "TS=")[1], ";")[0] + "\";";
                string HTS    = "HTS=\"" + Regex.Split(Regex.Split(Fcookie, "HTS=")[1], ";")[0];
                string HM_CU  = "HM_CU=\"" + Regex.Split(Regex.Split(Fcookie, "HM_CU=")[1], ";")[0] + "\";";
                string PROF   = "PROF=\"" + Regex.Split(Regex.Split(Fcookie, "PROF=")[1], ";")[0] + "\";";
                string ALID   = "ALID=\"" + Regex.Split(Regex.Split(Fcookie, "ALID=")[1], ";")[0] + "\";";
                string ALCT   = "ALCT=\"" + Regex.Split(Regex.Split(Fcookie, "ALCT=")[1], ";")[0] + "\";";
                string LSID   = "LSID=\"" + Regex.Split(Regex.Split(Fcookie, "LSID=")[1], ";")[0] + "\";";
                string AGEN   = "AGEN=\"" + Regex.Split(Regex.Split(Fcookie, "AGEN=")[1], ";")[0] + "\";";
                string SLEVEL = "SLEVEL=\"" + Regex.Split(Regex.Split(Fcookie, "SLEVEL=")[1], ";")[0] + "\";";
                Fcookie = "";
                Fcookie = TS + HTS + HM_CU + PROF + ALID + ALCT + LSID + AGEN + SLEVEL;

                wt.Open("GET", "http://blog.daum.net/" + BlogAddress);
                wt.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                wt.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                wt.SetRequestHeader("Referer", "http://www.daum.net/dsp/blog/_blog/_top/hdn/myBlogNewsListForDaumTopNew.do");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send();
                string blogid = Regex.Split(Regex.Split(wt.ResponseText, "blogid=")[1], "&")[0];

                wt.Open("GET", "http://blog.daum.net/_blog/BlogTypeMain.do?blogid=" + blogid.Trim() + "&admin=");
                wt.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                wt.SetRequestHeader("Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4");
                wt.SetRequestHeader("Referer", "http://www.daum.net/dsp/blog/_blog/_top/hdn/myBlogNewsListForDaumTopNew.do");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send();
                string articleOpen = Regex.Split(Regex.Split(wt.ResponseText, "articleopen != \"")[1], "\" ")[0];

                wt.Open("POST", "http://blog.daum.net/_blog/SimpleEditor.do?blogid=" + blogid.Trim());
                wt.SetRequestHeader("Accept", "*/*");
                wt.SetRequestHeader("charset", "utf-8");
                wt.SetRequestHeader("Cookie", Fcookie);
                wt.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                wt.SetRequestHeader("Referer", "http://www.daum.net/dsp/blog/_blog/_top/hdn/myBlogNewsListForDaumTopNew.do");
                wt.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36");
                wt.Send("articleTitle=" + title + "&article=" + content + "&articleOpen=" + articleOpen + "&categoryID=" + categoryID + "&formName=articleTypeList");
                return(true);
            }
            catch
            {
                throw new Exception("프로그램 오류가 발생 하였습니다.\n(로그인오류 또는 블로그 서비스 이상)");
            }
        }