欢迎各位兄弟 发布技术文章
这里的技术是共享的
先到百度API官网查看其有关说明,这是其官网:http://apistore.baidu.com/
可在此页面找到相关说明。
打开网址可以看到好几个号码归属地的查询,有些是收费的,有些免费,如果调用不是特别频繁,需要的信息量不是特别多的话,免费的就足够了。我开始看的是第一个接口:http://apistore.baidu.com/apiworks/servicedetail/117.html
但是百度自己的例子中就可以看出这个接口并不符合我的需求,我要的是可以查询到省市的,显然这个接口只返回给我省。
再来看这个 http://apistore.baidu.com/apiworks/servicedetail/794.html
首先看百度所给的例子的结果:
看来这个可以了,百度给了几种不同语言的例子,我只看Java的:
String httpUrl = “http://apis.baidu.com/apistore/mobilenumber/mobilenumber“;
String httpArg = “phone=15210011578”;
String jsonResult = request(httpUrl, httpArg);
System.out.println(jsonResult);
/**
* @param urlAll
* :请求接口
* @param httpArg
* :参数
* @return 返回结果
*/
public static String request(String httpUrl, String httpArg) {
BufferedReader reader = null;
String result = null;
StringBuffer sbf = new StringBuffer();
httpUrl = httpUrl + “?” + httpArg;
try {
URL url = new URL(httpUrl);
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestMethod("GET");
// 填入apikey到HTTP header
connection.setRequestProperty("apikey", "您自己的apikey");
connection.connect();
InputStream is = connection.getInputStream();
reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String strRead = null;
while ((strRead = reader.readLine()) != null) {
sbf.append(strRead);
sbf.append("\r\n");
}
reader.close();
result = sbf.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
这里边需要有自己的百度apikey 可参考这个网页http://app.baidu.com/static/cms/getapikey.html
可以把这个方法封装一下作为一个工具类使用了。
来自 http://blog.csdn.net/wbjylk/article/details/50898287
接口地址 :http://apis.baidu.com/apistore/mobilenumber/mobilenumber
请求方法 :GET
参数名 | 类型 | 必填 | 参数位置 | 描述 | 默认值 |
---|---|---|---|---|---|
string | 是 | header |
参数名 | 类型 | 必填 | 参数位置 | 描述 | 默认值 |
---|---|---|---|---|---|
number | 是 | urlParam |
{ "errNum": 0, "retMsg": "success", "retData": { "phone": "15210011578", "prefix": "1521001", "supplier": "移动 ", "province": "北京 ", "city": "北京 ", "suit": "152卡" } }
"phone": 手机号码, "prefix": 手机号码前7位, "supplier": "移动 ", "province": 省份, "city": 城市, "suit": "152卡"