1、淘寶網
API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手機號碼
參數:
tel:手機號碼
返回:JSON
2、拍拍
API地址: http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=手機號碼&amount=10000&callname=getPhoneNumInfoExtCallback
參數:
mobile:手機號碼
callname:回調函數
amount:未知(必須)
返回:JSON
3、財付通
API地址: http://life.tenpay.com/cgi-bin/mobile/MobileQueryAttribution.cgi?chgmobile=手機號碼
參數:
chgmobile:手機號碼
返回:xml
4、百付寶
API地址: https://www.baifubao.com/callback?cmd=1059&callback=phone&phone=手機號碼
參數:
phone:手機號碼
callback:回調函數
cmd:未知(必須)
返回:JSON
5、115
API地址: http://cz.115.com/?ct=index&ac=get_mobile_local&callback=jsonp1333962541001&mobile=手機號碼
參數:
mobile:手機號碼
callback:回調函數
返回:JSON
java代碼實現
利用淘寶的查詢接口api 網址URL:https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=188xxxxxxxx
淘寶的查詢接口 返回的JSON格式:
__GetZoneResult_ = { mts:'188xxxx', province:'浙江', catName:'中國移動', telString:'188xxxxxxxx', areaVid:'30510', ispVid:'3236139', carrier:'浙江移動' }
public static String calcMobileCity(String mobileNumber) throws MalformedURLException { //獲取拍拍網的API地址 // String urlString = "http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=" // + mobileNumber + "&amount=10000&callname=getPhoneNumInfoExtCallback"; //淘寶網的API地址 String urlString = "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=" + mobileNumber; StringBuffer sb = new StringBuffer(); BufferedReader buffer; URL url = new URL(urlString); String province = ""; try { //獲取URL地址中的頁面內容 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()); //定義兩種不同格式的字符串 // __GetZoneResult_ = { mts:'1594578', province:'黑龍江', catName:'中國移動', telString:'15945782060', areaVid:'30496', ispVid:'3236139', carrier:'黑龍江移動'} String objectStr = "{\"mts\":\"1594578\",\"province\":\"黑龍江\",\"catName\":\"中國移動\",\"telString\":\"15945782060\",\"areaVid\":\"30496\",\"ispVid\":\"3236139\",\"carrier\":\"黑龍江移動\"}"; //1、使用JSONObject JSONObject jsonObject2 = JSONObject.fromObject(objectStr); String pro1 = jsonObject2.getString("province"); System.out.println(pro1); MobileTest stu = (MobileTest) JSONObject.toBean(jsonObject2, MobileTest.class); province = stu.getProvince(); System.out.println(province); } catch (Exception e) { e.printStackTrace(); } //從JSONObject對象中讀取城市名稱 return province/*jsonObject.getString("cityname")*/; }
json對象對應的實體類:
public class MobileTest { private int mts; private String province; private String catName; private String telString; private int areaVid; private int ispVid; private String carrier; public int getMts() { return mts; } public void setMts(int mts) { this.mts = mts; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCatName() { return catName; } public void setCatName(String catName) { this.catName = catName; } public String getTelString() { return telString; } public void setTelString(String telString) { this.telString = telString; } public int getAreaVid() { return areaVid; } public void setAreaVid(int areaVid) { this.areaVid = areaVid; } public int getIspVid() { return ispVid; } public void setIspVid(int ispVid) { this.ispVid = ispVid; } public String getCarrier() { return carrier; } public void setCarrier(String carrier) { this.carrier = carrier; } }