update
This commit is contained in:
parent
a877c92e53
commit
b32cca1d48
35
server.js
35
server.js
@ -9,6 +9,7 @@ const log4js = require('log4js');
|
|||||||
const logger = log4js.getLogger();
|
const logger = log4js.getLogger();
|
||||||
const URL = require('url');
|
const URL = require('url');
|
||||||
const http = require('http');
|
const http = require('http');
|
||||||
|
const https = require('https');
|
||||||
|
|
||||||
logger.level = 'debug';
|
logger.level = 'debug';
|
||||||
|
|
||||||
@ -30,20 +31,36 @@ function getUrl (req, res) {
|
|||||||
'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
|
'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
|
||||||
};
|
};
|
||||||
|
|
||||||
console.log('Options', options);
|
// console.log('Options', options);
|
||||||
logger.info('>> getting url');
|
logger.info('>> getting url');
|
||||||
function urlQuery (callback) {
|
function urlQuery (callback) {
|
||||||
try {
|
try {
|
||||||
let count = 0;
|
let count = 0;
|
||||||
http.request(options, (response) => {
|
http.request(options, responseHandler).end();
|
||||||
|
|
||||||
|
function responseHandler(response) {
|
||||||
console.log(`STATUS: ${response.statusCode}`);
|
console.log(`STATUS: ${response.statusCode}`);
|
||||||
console.log(`HEADERS: ${JSON.stringify(response.headers)}`);
|
console.log(`HEADERS: ${JSON.stringify(response.headers)}`);
|
||||||
response.setEncoding('utf8');
|
response.setEncoding('utf8');
|
||||||
if (response.statusCode === 302) {
|
if (response.statusCode === 302 || response.statusCode === 301) {
|
||||||
body = [];
|
body = [];
|
||||||
logger.debug('>. follow', response.headers.location, count);
|
const rUrl = URL.parse(response.headers.location);
|
||||||
|
|
||||||
|
rUrl.followAllRedirects = true;
|
||||||
|
rUrl.headers = {
|
||||||
|
'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
|
||||||
|
};
|
||||||
|
|
||||||
|
logger.debug('>> follow', response.headers.location, count);
|
||||||
|
// logger.debug(rUrl);
|
||||||
count++;
|
count++;
|
||||||
request(response.headers.location);
|
if (rUrl.protocol === 'https:')
|
||||||
|
https.request(rUrl, responseHandler).end();
|
||||||
|
else
|
||||||
|
http.request(rUrl, responseHandler).end();
|
||||||
|
|
||||||
|
// this.request(response.headers.location);
|
||||||
|
// console.log(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
let data = '';
|
let data = '';
|
||||||
@ -51,12 +68,14 @@ function getUrl (req, res) {
|
|||||||
data += chunk;
|
data += chunk;
|
||||||
});
|
});
|
||||||
response.on('end', () => {
|
response.on('end', () => {
|
||||||
|
logger.error('>> END!!', response.statusCode);
|
||||||
|
if (response.statusCode !== 302 && response.statusCode !== 301)
|
||||||
callback(data);
|
callback(data);
|
||||||
});
|
});
|
||||||
response.on('error', e => {
|
response.on('error', e => {
|
||||||
logger.error(e);
|
logger.error(e);
|
||||||
});
|
});
|
||||||
}).end();
|
}
|
||||||
|
|
||||||
/* http.request(options).on('response', response => {
|
/* http.request(options).on('response', response => {
|
||||||
let data = '';
|
let data = '';
|
||||||
@ -78,9 +97,9 @@ function getUrl (req, res) {
|
|||||||
|
|
||||||
urlQuery(a => {
|
urlQuery(a => {
|
||||||
// logger.info(a);
|
// logger.info(a);
|
||||||
logger.info('Got result', a);
|
logger.info('Got result');
|
||||||
// res.setHeader('Content-Type', 'application/json');
|
// res.setHeader('Content-Type', 'application/json');
|
||||||
res.end(a);
|
res.send(a);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user