function mcx_bhavcopy(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn)
{
try
{
var mon=count[n].split('-')[0];
var m1=count[n].split('-')[1];
var d=count[n].split('-')[2];
var yy=count[n].split('-')[3];
var y=yy.substr(2,2);
var intMonth = getMonth(mon);
var currentDateForDownloadMCX = m1+'/'+d+'/'+yy;
var currdate1=new Date();
var year1=currdate1.getFullYear();
if(year1==yy){
try
{
document.getElementById("om").innerHTML+="<br/>mcxbhavcopy"+mon+d+yy+".csv is downloading..";
fs = require('fs');
var csv = require('ya-csv');
var async = require('async');
var htmlparser = require("htmlparser");
var DomHandler = require("DomHandler");
var DomElementType = require('DomElementType');
var http = require('http'),
fs = require('fs'),
request = require('request');
var urlStockinfo = "http://www.mcxindia.com/SitePages/BhavCopyDateWise.aspx";
var r = request.get(urlStockinfo);
var resData = "";
var resData1 = "";
r.on('response', function(response) {
response.on('data', function(chunk) {
resData += chunk;
});
});
r.on('end', function ()
{
var viewState_value = "";
var eventValidation_value = "";
var mImgBtnGo_X = "";
try{
var parser = new htmlparser.Parser(
{
onopentag: function(name, attribs){
if(name === "input" && attribs["id"] === "__VIEWSTATE"){
viewState_value = attribs["value"];
}
},
ontext:function(text){
},
onclosetag: function(tagname){
}
});
parser.write(resData);
parser.done();
var parser1 = new htmlparser.Parser(
{
onopentag: function(name, attribs){
if(name === "input" && attribs["id"] === "__EVENTVALIDATION"){
eventValidation_value = attribs["value"];
}
},
ontext:function(text){
},
onclosetag: function(tagname){
}
});
parser1.write(resData);
parser1.done();
new htmlparser.FeedHandler(function(error, feed){
});
}catch(err)
{
if(err){
document.getElementById("om").innerHTML+="<br/>"+err;
}
}
var r1 = request
(
{
method: 'POST',
uri: urlStockinfo,
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
"Accept-Encoding": "utf-8",
"Accept": "text/plain,application/csv,*/*;q=0.3",
"Cookie": "cookie"
},
form:{
'__VIEWSTATE':viewState_value.trim(),
'__EVENTVALIDATION':eventValidation_value.trim(),
'mTbdate':currentDateForDownloadMCX,
'mImgBtnGo.x':'13',
'mImgBtnGo.y':'6'
}
}
);
r1.on('response', function(response) {
response.on('data', function(chunk) {
resData1 += chunk;
});
});
var viewState_value1 = "";
var eventValidation_value1 = "";
r1.on('end', function()
{
try{
var parser2 = new htmlparser.Parser(
{
onopentag: function(name, attribs){
if(name === "input" && attribs["id"] === "__VIEWSTATE"){
viewState_value1 = attribs["value"];
}
},
ontext:function(text){
},
onclosetag: function(tagname){
}
});
parser2.write(resData1);
parser2.done();
var parser3 = new htmlparser.Parser(
{
onopentag: function(name, attribs)
{
if(name === "input" && attribs["id"] === "__EVENTVALIDATION"){
eventValidation_value1 = attribs["value"];
}
},
ontext:function(text){
},
onclosetag: function(tagname){
}
});
parser3.write(resData1);
parser3.done();
new htmlparser.FeedHandler(function(error, feed){
});
}catch(err)
{
if(err){
document.getElementById("om").innerHTML+="<br/>"+err;
}
}
request(
{
method: 'POST',
uri: urlStockinfo,
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
"Accept-Encoding": "utf-8",
"Accept": "text/plain,application/csv,*/*;q=0.3",
"Cookie": "cookie"
},
form:{
'__VIEWSTATE':viewState_value1.trim(),
'__EVENTVALIDATION':eventValidation_value1.trim(),
'mTbdate':currentDateForDownloadMCX,
'__EVENTTARGET':'btnLink_Excel'
}
},
function(error, response, body) {
if(response != null)
{
if(response.statusCode != null || response.statusCode != "")
{
if (!error && response.statusCode == 200)
{
downloadmcxcsv(response.statusCode);
}
else
{
downloadmcxcsv(404);
}
}else
{
downloadmcxcsv(404);
}
}else
{
downloadmcxcsv(404);
}
}
);
function downloadmcxcsv(code){
if(code==200){
document.getElementById("om").innerHTML+="<br/>mcxbhavcopy"+mon+d+yy+".csv is downloading..";
var outCsv = fs.createWriteStream(downloadpath+"mcxbhavcopy_"+mon+d+yy+".csv");
var r2 = request(
{
method: 'POST',
uri: urlStockinfo,
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11",
"Accept-Encoding": "utf-8",
"Accept": "text/plain,application/csv,*/*;q=0.3",
"Cookie": "cookie"
},
form:{
'__VIEWSTATE':viewState_value1.trim(),
'__EVENTVALIDATION':eventValidation_value1.trim(),
'mTbdate':currentDateForDownloadMCX,
'__EVENTTARGET':'btnLink_Excel'
}
}
);
r2.pipe(outCsv);
r2.on("end", function(){
document.getElementById("om").innerHTML+="<br/>mcxbhavcopy"+mon+d+yy+".csv is downloaded";
n++;
if(count.length > n)
{
loadprogressbar();
setTimeout(function(){
mcx_bhavcopy(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},1000);
}else
{
loadprogressbar();
setTimeout(function(){
process_mcxeodc(count,0,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},2000);
}
});
r2.on("error", function(){
document.getElementById("om").innerHTML+="<br/>Problem in downloading mcxbhavcopy"+mon+d+yy+".csv";
mcx_bhavcopy(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
});
}
else
{
document.getElementById("om").innerHTML+="<br/><font color=red>mcxbhavcopy"+mon+d+yy+".csv file not found on server</font>";
n++;
if(count.length > n)
{
loadprogressbar();
setTimeout(function(){
mcx_bhavcopy(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},1000);
}else
{
loadprogressbar();
setTimeout(function(){
process_mcxeodc(count,0,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},2000);
}
}
}
});
});
}catch(err)
{
if(err){
document.getElementById("om").innerHTML+="<br/>"+err;
}
}
}
else
{
n++;
if(count.length > n)
{
loadprogressbar();
setTimeout(function(){
mcx_bhavcopy(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},1000);
}else
{
loadprogressbar();
setTimeout(function(){
process_mcxeodc(count,0,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},2000);
}
}
}catch(err)
{
console.log(err);
n++;
if(count.length > n)
{
loadprogressbar();
setTimeout(function(){
mcx_bhavcopy(count,n,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},1000);
}else
{
loadprogressbar();
setTimeout(function(){
process_mcxeodc(count,0,baseurl,downloadpath,unzippath,outputpath,logpath,fromd,tod,sn);
},2000);
}
}
}