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;
}
}
