// 엑셀 다운로드 public override bool Web_DownLoadExcel() { try { ProcessStateManager.Instance.NeedDownLoadCount_ = GoodsInfoList_.Count; DateTime dtNow = DateTime.Now; // 하위 폴더 만들기 string makefolder = HKLibrary.UTIL.HKFileHelper.GetCurrentDirectory(); makefolder += "\\"; makefolder += CINIManager.Instance.channelseq_; makefolder += "\\"; makefolder += dtNow.ToShortDateString(); HKLibrary.UTIL.HKFileHelper.MakeFolder(makefolder); foreach (var pData in GoodsInfoList_) { ChannelGoodInfo pGoodInfo = pData.Value; pGoodInfo.Goods_Code_ = "0000"; string downString = makefolder; downString += "\\"; downString += pGoodInfo.Goods_Code_; downString += "_"; downString += Convert.ToString(dtNow.Ticks); downString += ".xls"; // 이미 다운로드가 끝난 파일이라면 다시 다운로드 하지 않는다. if (GoodsDownInfo_.ContainsKey(pGoodInfo.Goods_Code_) == false) { try { string method = LQCrawlerInfo_.ExcelDownMethod_; string url = ""; if (LQCrawlerInfo_.AuthoritySeq_ == 17) { url = @"https://soffice.11st.co.kr/escrow/OrderingLogisticsAction.tmall?method=getLogisticsForExcel&isItalyAgencyYn=&isAbrdSellerYn=&listType=orderingLogistics"; } else { url = @"https://partner.11st.co.kr/escrow/OrderingLogisticsAction.tmall?method=getLogisticsForExcel&isItalyAgencyYn=&isAbrdSellerYn=&listType=orderingLogistics"; } string sendparameter = @"excelColumnList=0/1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51/52/53/54/56/57/58/59/60/61/62/63/64/65&excelDownType=oldExcel&abrdOrdPrdStat=&excelShGblDlv=N&shBuyerType=&shBuyerText=&shErrYN=&shProductStat=202&abrdOrdPrdStat420=&abrdOrdPrdStat301=&abrdOrdPrdStat401=&shOrderType=on&addrSeq=&shDateType=01&shDateFrom={sDate}&shDateTo={eDate}&searchDt=8&shDelayReport=&shPurchaseConfirm=&shGblDlv=&dlvMthdCd=%B9%E8%BC%DB%C7%CA%BF%E4%BE%F8%C0%BD&dlvCd=00&pagePerSize=100&listType=orderingConfirm&delaySendDt=&delaySendRsnCd=&delaySendRsn=&orderConfrim=&shStckNo=&prdNo=&hiddenStatusOrder=&hiddenShProductStat=&hiddenCheck=&hiddenprdNo=&hiddenshStckNo="; string eDate = ""; string sData = ""; if (pGoodInfo.eDateFormat_ != null) { DateTime beforeData = dtNow.AddDays(-7); eDate = string.Format("{0:D4}{1:D2}{2:D2}", dtNow.Year, dtNow.Month, dtNow.Day); sData = string.Format("{0:D4}{1:D2}{2:D2}", beforeData.Year, beforeData.Month, beforeData.Day); } sendparameter = sendparameter.Replace("{GoodsCode}", pGoodInfo.Goods_Code_); sendparameter = sendparameter.Replace("{sDate}", sData); sendparameter = sendparameter.Replace("{eDate}", eDate); HttpWebResponse pResponse = HKHttpWebRequest.ReqHttpRequest(method, url, sendparameter, Cookie_, null, null, 180000); if (pResponse.CharacterSet == "" || pResponse.CharacterSet == "euc-kr" || pResponse.CharacterSet == "EUC-KR") { FileStream fs = File.OpenWrite(downString); string d = pResponse.CharacterSet; Stream responsestream = pResponse.GetResponseStream(); byte[] buffer = new byte[2048]; long totalBytesRead = 0; int bytesRead; while ((bytesRead = responsestream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; fs.Write(buffer, 0, bytesRead); } fs.Close(); fs.Dispose(); } else { TextReader textReader = (TextReader) new StreamReader(pResponse.GetResponseStream(), Encoding.GetEncoding(pResponse.CharacterSet)); string htmlBuffer = textReader.ReadToEnd(); HKLibrary.UTIL.HKFileHelper.SaveToFile(downString, htmlBuffer); textReader.Close(); textReader.Dispose(); } } catch (System.Exception ex) { NewLogManager2.Instance.Log(ex.Message); continue; } GoodsDownInfo_.Add(pGoodInfo.Goods_Code_, downString); ProcessStateManager.Instance.CurDownLoadCount_++; } else { ProcessStateManager.Instance.PassDownLoadCount_++; } } } catch (System.Exception ex) { NewLogManager2.Instance.Log(string.Format("Error public override bool Web_DownLoadExcel() - {0}", ex.Message)); return(false); } return(true); }
// 엑셀 다운로드 public override bool Web_DownLoadExcel() { try { ProcessStateManager.Instance.NeedDownLoadCount_ = GoodsInfoList_.Count; DateTime dtNow = DateTime.Now; // 하위 폴더 만들기 string makefolder = HKLibrary.UTIL.HKFileHelper.GetCurrentDirectory(); makefolder += "\\"; makefolder += CINIManager.Instance.channelseq_; makefolder += "\\"; makefolder += dtNow.ToShortDateString(); HKLibrary.UTIL.HKFileHelper.MakeFolder(makefolder); foreach (var pData in GoodsInfoList_) { ChannelGoodInfo pGoodInfo = pData.Value; string downString = makefolder; downString += "\\"; downString += pGoodInfo.Goods_Code_; downString += "_"; downString += Convert.ToString(dtNow.Ticks); downString += ".xls"; // 이미 다운로드가 끝난 파일이라면 다시 다운로드 하지 않는다. if (GoodsDownInfo_.ContainsKey(pGoodInfo.Goods_Code_) == false) { try { string method = LQCrawlerInfo_.ExcelDownMethod_; string url = LQCrawlerInfo_.ExcelDownUrl_; url = url.Replace("{GoodsCode}", pGoodInfo.Goods_Code_); string sendparameter = LQCrawlerInfo_.ExcelDownParameter_; string eDate = ""; string sData = ""; if (pGoodInfo.eDateFormat_ != null) { DateTime beforeData = dtNow.AddDays(-7); // 이지웰 건수가 많으면 데이터를 못들고옴, 10일전 건수만 들고오게 함 eDate = string.Format("{0:D4}-{1:D2}-{2:D2}", dtNow.Year, dtNow.Month, dtNow.Day); sData = string.Format("{0:D4}-{1:D2}-{2:D2}", beforeData.Year, beforeData.Month, beforeData.Day); } sendparameter = sendparameter.Replace("{sDate}", sData); sendparameter = sendparameter.Replace("{eDate}", eDate); HttpWebResponse pResponse = HKHttpWebRequest.ReqHttpRequest(method, url, sendparameter, Cookie_, null, null, 180000); if (pResponse.CharacterSet == "" || pResponse.CharacterSet == "euc-kr" || pResponse.CharacterSet == "EUC-KR") { FileStream fs = File.OpenWrite(downString); string d = pResponse.CharacterSet; Stream responsestream = pResponse.GetResponseStream(); byte[] buffer = new byte[2048]; long totalBytesRead = 0; int bytesRead; while ((bytesRead = responsestream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; fs.Write(buffer, 0, bytesRead); } fs.Close(); fs.Dispose(); } else { TextReader textReader = (TextReader) new StreamReader(pResponse.GetResponseStream(), Encoding.GetEncoding(pResponse.CharacterSet)); string htmlBuffer = textReader.ReadToEnd(); string FileName = ""; htmlBuffer = htmlBuffer.Replace(" ", " "); string regstring = @"{""result"":""SUCCESS"",""fileName"":""(?<FileName>\S+)""}"; Regex re = new Regex(regstring, RegexOptions.IgnoreCase | RegexOptions.Singleline); MatchCollection oe = re.Matches(htmlBuffer); foreach (Match mat in oe) { GroupCollection group = mat.Groups; FileName = Convert.ToString(group["FileName"].Value); FileName = FileName.Replace(" ", " "); } if (FileName != "") { url = "http://www.saletonight.com/excel/excelDown"; sendparameter = "fileName=" + System.Web.HttpUtility.UrlEncode(FileName); pResponse = HKHttpWebRequest.ReqHttpRequest("GET", url, sendparameter, Cookie_, null, null, 180000); if (pResponse.CharacterSet == "" || pResponse.CharacterSet == "euc-kr" || pResponse.CharacterSet == "EUC-KR") { FileStream fs = File.OpenWrite(downString); string d = pResponse.CharacterSet; Stream responsestream = pResponse.GetResponseStream(); byte[] buffer = new byte[2048]; long totalBytesRead = 0; int bytesRead; while ((bytesRead = responsestream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; fs.Write(buffer, 0, bytesRead); } fs.Close(); fs.Dispose(); } else { textReader = (TextReader) new StreamReader(pResponse.GetResponseStream(), Encoding.GetEncoding(pResponse.CharacterSet)); htmlBuffer = textReader.ReadToEnd(); } } textReader.Close(); textReader.Dispose(); } } catch (System.Exception ex) { NewLogManager2.Instance.Log(ex.Message); continue; } GoodsDownInfo_.Add(pGoodInfo.Goods_Code_, downString); ProcessStateManager.Instance.CurDownLoadCount_++; } else { ProcessStateManager.Instance.PassDownLoadCount_++; } GC.Collect(); } } catch (System.Exception ex) { NewLogManager2.Instance.Log(string.Format("Error public override bool Web_DownLoadExcel() - {0}", ex.Message)); return(false); } return(true); }
// 엑셀 다운로드 public override bool Web_DownLoadExcel() { try { ProcessStateManager.Instance.NeedDownLoadCount_ = GoodsInfoList_.Count; DateTime dtNow = DateTime.Now; // 하위 폴더 만들기 string makefolder = HKLibrary.UTIL.HKFileHelper.GetCurrentDirectory(); makefolder += "\\"; makefolder += CINIManager.Instance.channelseq_; makefolder += "\\"; makefolder += dtNow.ToShortDateString(); HKLibrary.UTIL.HKFileHelper.MakeFolder(makefolder); foreach (var pData in GoodsInfoList_) { ChannelGoodInfo pGoodInfo = pData.Value; string downString = makefolder; downString += "\\"; downString += pGoodInfo.Goods_Code_; downString += "_"; downString += Convert.ToString(dtNow.Ticks); downString += ".xls"; // 이미 다운로드가 끝난 파일이라면 다시 다운로드 하지 않는다. if (GoodsDownInfo_.ContainsKey(pGoodInfo.Goods_Code_) == false) { try { string method = LQCrawlerInfo_.ExcelDownMethod_; string url = LQCrawlerInfo_.ExcelDownUrl_; string sendparameter = LQCrawlerInfo_.ExcelDownParameter_; // DB 의 값이 달라서 임시로 넣어둔값 //string method = "GET"; //string url = @"https://withgs.gsshop.com/dlv/mobilCpnAutoRfnManulProc/filedown"; //string sendparameter = @"flag=&ecDirdlvOboxYn=&dirdlvRelsInfoImprovTgtYn=N&downPsblYn=null&intgSrchLinkOrdNo=&dateTime={eDate}+12%3A56%3A50&soldOut=&prdCd=&itemCd=&chkOrgSupCd=1027095&chkSupCd=1027095&userDownLoadYn=0&mobilCpnAutoRfnSupYn=&qryTerm=B&fromSearchDtm={sDate}&toSearchDtm={eDate}&srchCond=A&srchText=&ordSt=1&useYn=0&fileDownGbn="; string useragent = @"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"; string eDate = ""; string sData = ""; if (pGoodInfo.eDateFormat_ != null) { DateTime beforeData = dtNow.AddDays(-6); eDate = string.Format("{0:D4}-{1:D2}-{2:D2}", dtNow.Year, dtNow.Month, dtNow.Day); sData = string.Format("{0:D4}-{1:D2}-{2:D2}", beforeData.Year, beforeData.Month, beforeData.Day); } sendparameter = sendparameter.Replace("{sDate}", sData); sendparameter = sendparameter.Replace("{eDate}", eDate); HttpWebResponse pResponse = HKHttpWebRequest.ReqHttpRequest(method, url, sendparameter, Cookie_, null, useragent, 180000); if (pResponse.CharacterSet == "" || pResponse.CharacterSet == "euc-kr" || pResponse.CharacterSet == "EUC-KR") { FileStream fs = File.OpenWrite(downString); string d = pResponse.CharacterSet; Stream responsestream = pResponse.GetResponseStream(); byte[] buffer = new byte[2048]; long totalBytesRead = 0; int bytesRead; while ((bytesRead = responsestream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; fs.Write(buffer, 0, bytesRead); } fs.Close(); fs.Dispose(); } else { TextReader textReader = (TextReader) new StreamReader(pResponse.GetResponseStream(), Encoding.GetEncoding(pResponse.CharacterSet)); string htmlBuffer = textReader.ReadToEnd(); HKLibrary.UTIL.HKFileHelper.SaveToFile(downString, htmlBuffer); textReader.Close(); textReader.Dispose(); } } catch (System.Exception ex) { NewLogManager2.Instance.Log(ex.Message); continue; } GoodsDownInfo_.Add(pGoodInfo.Goods_Code_, downString); ProcessStateManager.Instance.CurDownLoadCount_++; } else { ProcessStateManager.Instance.PassDownLoadCount_++; } } } catch (System.Exception ex) { NewLogManager2.Instance.Log(string.Format("Error public override bool Web_DownLoadExcel() - {0}", ex.Message)); return(false); } return(true); }
// 엑셀 다운로드 public override bool Web_DownLoadExcel() { try { //ChannelGoodInfo p = new ChannelGoodInfo(); //p.Goods_Code_ = "test"; //GoodsInfoList_.Add(9999,p); ProcessStateManager.Instance.NeedDownLoadCount_ = GoodsInfoList_.Count; DateTime dtNow = DateTime.Now; // 하위 폴더 만들기 string makefolder = HKLibrary.UTIL.HKFileHelper.GetCurrentDirectory(); makefolder += "\\"; makefolder += CINIManager.Instance.channelseq_; makefolder += "\\"; makefolder += dtNow.ToShortDateString(); HKLibrary.UTIL.HKFileHelper.MakeFolder(makefolder); foreach (var pData in GoodsInfoList_) { ChannelGoodInfo pGoodInfo = pData.Value; string downString = makefolder; downString += "\\"; downString += pGoodInfo.Goods_Code_; downString += "_"; downString += Convert.ToString(dtNow.Ticks); downString += ".xls"; // 이미 다운로드가 끝난 파일이라면 다시 다운로드 하지 않는다. if (GoodsDownInfo_.ContainsKey(pGoodInfo.Goods_Code_) == false) { try { string method = LQCrawlerInfo_.ExcelDownMethod_; string url = LQCrawlerInfo_.ExcelDownUrl_; url = url.Replace("{GoodsCode}", pGoodInfo.Goods_Code_); string sendparameter = LQCrawlerInfo_.ExcelDownParameter_; DateTime beforeData = dtNow.AddDays(-30); string eDate_year = string.Format("{0:D4}", dtNow.Year); string eDate_month = string.Format("{0:D2}", dtNow.Month); string eDate_day = string.Format("{0:D2}", dtNow.Day); string sDate_year = string.Format("{0:D4}", beforeData.Year); string sDate_month = string.Format("{0:D2}", beforeData.Month); string sDate_day = string.Format("{0:D2}", beforeData.Day); sendparameter = sendparameter.Replace("{sDay_Y}", sDate_year); sendparameter = sendparameter.Replace("{sDay_M}", sDate_month); sendparameter = sendparameter.Replace("{sDay_D}", sDate_day); sendparameter = sendparameter.Replace("{eDay_Y}", eDate_year); sendparameter = sendparameter.Replace("{eDay_M}", eDate_month); sendparameter = sendparameter.Replace("{eDay_D}", eDate_day); HttpWebResponse pResponse = HKHttpWebRequest.ReqHttpRequest(method, url, sendparameter, Cookie_, null, null, 180000); if (pResponse.CharacterSet == "" || pResponse.CharacterSet == "euc-kr" || pResponse.CharacterSet == "EUC-KR") { FileStream fs = File.OpenWrite(downString); string d = pResponse.CharacterSet; Stream responsestream = pResponse.GetResponseStream(); byte[] buffer = new byte[2048]; long totalBytesRead = 0; int bytesRead; while ((bytesRead = responsestream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; fs.Write(buffer, 0, bytesRead); } fs.Close(); fs.Dispose(); } else { TextReader textReader = (TextReader) new StreamReader(pResponse.GetResponseStream(), Encoding.GetEncoding(pResponse.CharacterSet)); string htmlBuffer = textReader.ReadToEnd(); HKLibrary.UTIL.HKFileHelper.SaveToFile(downString, htmlBuffer); textReader.Close(); textReader.Dispose(); } } catch (System.Exception ex) { NewLogManager2.Instance.Log(ex.Message); continue; } GoodsDownInfo_.Add(pGoodInfo.Goods_Code_, downString); ProcessStateManager.Instance.CurDownLoadCount_++; } else { ProcessStateManager.Instance.PassDownLoadCount_++; } } } catch (System.Exception ex) { NewLogManager2.Instance.Log(string.Format("Error public override bool Web_DownLoadExcel() - {0}", ex.Message)); return(false); } return(true); }
// 엑셀 다운로드 public override bool Web_DownLoadExcel() { try { ProcessStateManager.Instance.NeedDownLoadCount_ = GoodsInfoList_.Count; DateTime dtNow = DateTime.Now; // 하위 폴더 만들기 string makefolder = HKLibrary.UTIL.HKFileHelper.GetCurrentDirectory(); makefolder += "\\"; makefolder += CINIManager.Instance.channelseq_; makefolder += "\\"; makefolder += dtNow.ToShortDateString(); HKLibrary.UTIL.HKFileHelper.MakeFolder(makefolder); foreach (var pData in GoodsInfoList_) { ChannelGoodInfo pGoodInfo = pData.Value; pGoodInfo.Goods_Code_ = "0000"; string downString = makefolder; downString += "\\"; downString += pGoodInfo.Goods_Code_; downString += "_"; downString += Convert.ToString(dtNow.Ticks); downString += ".xls"; // 이미 다운로드가 끝난 파일이라면 다시 다운로드 하지 않는다. if (GoodsDownInfo_.ContainsKey(pGoodInfo.Goods_Code_) == false) { try { string method = LQCrawlerInfo_.ExcelDownMethod_; string url = LQCrawlerInfo_.ExcelDownUrl_; url = url.Replace("{GoodsCode}", pGoodInfo.Goods_Code_); string sendparameter = LQCrawlerInfo_.ExcelDownParameter_; string eDate = ""; string sData = ""; if (pGoodInfo.eDateFormat_ != null) { DateTime beforeData = dtNow.AddDays(-7); // 이지웰 건수가 많으면 데이터를 못들고옴, 10일전 건수만 들고오게 함 eDate = string.Format(pGoodInfo.eDateFormat_, dtNow.Year, dtNow.Month, dtNow.Day); sData = string.Format(pGoodInfo.eDateFormat_, beforeData.Year, beforeData.Month, beforeData.Day); } sendparameter = sendparameter.Replace("{GoodsCode}", pGoodInfo.Goods_Code_); sendparameter = sendparameter.Replace("{sDate}", sData); sendparameter = sendparameter.Replace("{eDate}", eDate); HttpWebResponse pResponse = HKHttpWebRequest.ReqHttpRequest(method, url, sendparameter, Cookie_); FileStream fs = File.OpenWrite(downString); string d = pResponse.CharacterSet; Stream responsestream = pResponse.GetResponseStream(); byte[] buffer = new byte[2048]; long totalBytesRead = 0; int bytesRead; while ((bytesRead = responsestream.Read(buffer, 0, buffer.Length)) > 0) { totalBytesRead += bytesRead; fs.Write(buffer, 0, bytesRead); } fs.Close(); fs.Dispose(); } catch (System.Exception ex) { NewLogManager2.Instance.Log(ex.Message); continue; } GoodsDownInfo_.Add(pGoodInfo.Goods_Code_, downString); ProcessStateManager.Instance.CurDownLoadCount_++; } else { ProcessStateManager.Instance.PassDownLoadCount_++; } } } catch (System.Exception ex) { NewLogManager2.Instance.Log(string.Format("Error public override bool Web_DownLoadExcel() - {0}", ex.Message)); return(false); } return(true); }