|
|
const IP2Region = require('ip2region');
|
|
|
const logger = global.yoho.logger;
|
|
|
const _ = require('lodash');
|
|
|
|
|
|
const ipQuery = new IP2Region();
|
|
|
|
|
|
const PROVINCE = ['内蒙古', '新疆', '广西', '宁夏', '西藏']
|
|
|
|
|
|
function getIsp(ip) {
|
|
|
try {
|
|
|
|
|
|
const result = ipQuery.search(ip);
|
|
|
|
|
|
if (_.endsWith(result.province, '省')) {
|
|
|
const len = result.region.length;
|
|
|
|
|
|
result.province = result.province.substr(0, len - 1);
|
|
|
}
|
|
|
|
|
|
for (let p of PROVINCE) {
|
|
|
if (_.includes(result.province, p)) {
|
|
|
result.province = p;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (_.endsWith(result.city, '市')) {
|
|
|
const len = result.city.length;
|
|
|
|
|
|
result.city = result.city.substr(0, len - 1);
|
|
|
}
|
|
|
|
|
|
return {
|
|
|
isp: result.isp,
|
|
|
region: result.province,
|
...
|
...
|
@@ -22,4 +44,4 @@ function getIsp(ip) { |
|
|
|
|
|
module.exports = {
|
|
|
getIsp
|
|
|
}; |
|
|
}; |
|
|
\ No newline at end of file |
...
|
...
|
|