美文网首页
iOS开发 根据IP获取位置

iOS开发 根据IP获取位置

作者: 守候的流年 | 来源:发表于2018-09-14 16:34 被阅读14次

iOS开发 根据IP获取位置

本文的资源来自于淘宝 IP 地址库

一 IP 查询
接口说明

  1. 请求接口(GET):
    /service/getIpInfo.php?ip=[ip地址字串]
  2. 响应信息 ``(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
  3. 返回数据格式:
{"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统计


image.png image.png

三 代码说明

// 通过该方法直接获取对应的参数, 根据需要自行设计
- (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(@"我是在中国");
}

免责声明

  1. 本站数据内容由程序采集计算得出,本站会努力提供精准数据,但不提供具体准确度保证,数据仅供参考。
  2. 未经书面同意,禁止私自对接,禁止商用,合法使用者请明确注明出处。
  3. http等在线查询功能不是商业化产品,仅提供便民免费查询,不承诺稳定性、SLA等。
  4. 对于因不可抗力造成的服务中断或其它缺陷,本站不承担任何责任,但将尽力恢复减少影响。
  5. 使用过程中所存在的风险及产生的后果由使用者自行承担。

最后: 自己创建了一个 iOS 开发群185377619,有需要的小伙伴加一下,大家共同进步

相关文章

网友评论

      本文标题:iOS开发 根据IP获取位置

      本文链接:https://www.haomeiwen.com/subject/kjgogftx.html