源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java使用淘宝API读写json实现手机归属地查询功能代码

  • 时间:2022-08-29 07:41 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java使用淘宝API读写json实现手机归属地查询功能代码
一般查询手机归属地内容应该很好用json格式保存,在网上找到了淘宝的归属地API,并下了处理json相关的jar包,做了这个手机归属地查询功能
[u]复制代码[/u] 代码如下:
package com.think.java; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class TestMobileCity {        /**      * 测试手机号码是来自哪个城市的,利用淘宝的API      * @param mobileNumber 手机号码      * @return      * @throws MalformedURLException      */     public static String calcMobileCity(String mobileNumber) throws MalformedURLException{         String jsonString = null;         JSONArray array = null;         JSONObject jsonObject = null;         String urlString = "http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=" + mobileNumber;         StringBuffer sb = new StringBuffer();         BufferedReader buffer;         URL url = new URL(urlString);         try{             InputStream in = url.openStream();             // 解决乱码问题             buffer = new BufferedReader(new InputStreamReader(in,"gb2312"));             String line = null;             while((line = buffer.readLine()) != null){                 sb.append(line);             }             in.close();             buffer.close();             // System.out.println(sb.toString());             jsonString = sb.toString();             // 替换掉“__GetZoneResult_ = ”,让它能转换为JSONArray对象             jsonString = jsonString.replaceAll("^[__]\\w{14}+[_ = ]+", "[");             // System.out.println(jsonString+"]");             String jsonString2 = jsonString + "]";             // 把STRING转化为json对象             array = JSONArray.fromObject(jsonString2);             // 获取JSONArray的JSONObject对象,便于读取array里的键值对             jsonObject = array.getJSONObject(0);                }catch(Exception e){             e.printStackTrace();         }         return jsonObject.getString("province");     }     /**      * 计算多个号码的归属地      * @param mobileNumbers 号码列表      * @return      * @throws MalformedURLException      */     public static JSONObject calcMobilesCities(List<String> mobileNumbers) throws MalformedURLException{         JSONObject jsonNumberCity = new JSONObject();         for(String mobileNumber : mobileNumbers){             jsonNumberCity.put(mobileNumber, calcMobileCity(mobileNumber));            ;         }                return jsonNumberCity;     }     public static void main(String[] args) throws Exception{         String testMobileNumber = "1881758452";         System.out.println(calcMobileCity(testMobileNumber));         List<String> mobileList = new ArrayList<String>();         for(int i = 1350345; i < 1350388; i++){             mobileList.add(String.valueOf(i));         }         System.out.println(calcMobilesCities(mobileList).toString());     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部