iOS开发 根据IP获取位置
本文的资源来自于淘宝 IP 地址库
一 IP 查询
接口说明
-
请求接口(GET):
/service/getIpInfo.php?ip=[ip地址字串]
响应信息 ``(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
返回数据格式:
{"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317",
"region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1",
"country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",
"county_id":"-1","isp_id":"100017"}}
其中code的值的含义为,0:成功,1:失败。
二 IP统计


三 代码说明
// 通过该方法直接获取对应的参数, 根据需要自行设计
- (NSString *)getCountryID {
//通过淘宝提供的服务,定位WAN的IP
NSURL *ipURL = [NSURL URLWithString:@"http://ip.taobao.com/service/getIpInfo.php?ip=myip"];
NSData *data = [NSData dataWithContentsOfURL:ipURL];
NSDictionary *ipDict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSString *ipStr = nil;
NSLog(@"IPDict:%@",ipDict);
//获取成功
if (ipDict && [ipDict[@"code"] integerValue] == 0) {
ipStr = ipDict[@"data"][@"country_id"];
}
return (ipStr ? ipStr : @"");
}
// 通过这里进行进一步的操作
NSLog(@"--->%@", [self getCountryID]);
if ([[self getCountryID] isEqualToString:@"CN"]) {
NSLog(@"我是在中国");
}
免责声明
- 本站数据内容由程序采集计算得出,本站会努力提供精准数据,但不提供具体准确度保证,数据仅供参考。
- 未经书面同意,禁止私自对接,禁止商用,合法使用者请明确注明出处。
- http等在线查询功能不是商业化产品,仅提供便民免费查询,不承诺稳定性、SLA等。
- 对于因不可抗力造成的服务中断或其它缺陷,本站不承担任何责任,但将尽力恢复减少影响。
- 使用过程中所存在的风险及产生的后果由使用者自行承担。
最后: 自己创建了一个 iOS 开发群185377619
,有需要的小伙伴加一下,大家共同进步
网友评论