1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 携号转网之后如何通过号段判断手机号码的运营商?

携号转网之后如何通过号段判断手机号码的运营商?

时间:2021-06-25 22:41:20

相关推荐

携号转网之后如何通过号段判断手机号码的运营商?

携号转网给用户带来了方便,使得运营商之间进入良性竞争。

但是由此带来了一些小问题,原来我们可以清楚的知道139号码是移动运营商 131是联通 133是电信。

可是现在这一切都不能再准确的判断用户的运营商了。这样对于一些依靠运营商对号码进行区分的业务变得困难,比如短信接口,充值接口,有客户找我想办法解决这一问题,但是如何判断所属真实的运营商呢?

解决方案:直接找运营商问是不现实的。我们只能通过公开的渠道来判断。原理很简单 那就是 三大运营商的官网

比如139XXXX8888 目测此号码一定是移动。我们先在移动官网对此号码进行充值,如果号码此号码是移动号码 那么可以继续充值步骤 如果不是移动号码 会有相应的提示,然后再到联通官网做充值测试,最后到电信官网做同样的测试。那么解决问题就非常简单了 每个号码 在三大运营官网 进行充值判断即可。在对此流程做一个自动化处理软件 问题 解决。

凡是总有解决办法。下面附上 软件截图和部分代码。

部分实现逻辑:

switch (qzOrder.myPropDic["原始运营商"])

{

case "中国移动":

GetBaseInfo_YD(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国移动"] == "否")

{

GetBaseInfo_LT(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国联通"] == "否")

{

GetBaseInfo_DX(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国电信"] == "是")

{

qzOrder.myPropDic["新运营商"] = "中国电信";

}

}

else

{

qzOrder.myPropDic["新运营商"] = "中国联通";

}

}

break;

case "中国联通":

GetBaseInfo_LT(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国联通"] == "否")

{

GetBaseInfo_YD(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国移动"] == "否")

{

GetBaseInfo_DX(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国电信"] == "是")

{

qzOrder.myPropDic["新运营商"] = "中国电信";

}

}

else

{

qzOrder.myPropDic["新运营商"] = "中国移动";

}

}

break;

case "中国电信":

GetBaseInfo_DX(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国电信"] == "否")

{

GetBaseInfo_YD(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国移动"] == "否")

{

GetBaseInfo_LT(qzOrder, ChannelArgs);

if (qzOrder.myPropDic["中国联通"] == "是")

{

qzOrder.myPropDic["新运营商"] = "中国联通";

}

}

else

{

qzOrder.myPropDic["新运营商"] = "中国移动";

}

}

break;

default:

qzOrder.myPropDic["原始运营商"] = "未知";

break;

}

其实关于此类服务 无外乎几种方式实现:

1 自己调用运营商官方充值接口 做充值前预判

2 通过第三方接口实现 本想推荐给大家奈何审核不过

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。