你也许会有一个需求,需要判断当前网络的IP地址是在国内还是国外,也许你需要判断连接的Wi-Fi运营商是哪家的,虽然网上也有方法,但是却写得很简单,没有进行深入的说明,所以今天博主重新整理,给大家一个方法来处理:
首先获取IP:

-(NSString *)getWANIP
{
//通过淘宝的服务来定位WAN的IP,否则获取路由IP没什么用NSURL *ipURL = [NSURL URLWithString:@"http://ip.taobao.com/service/getIpInfo.php?ip=myip"];NSData *data = [NSData dataWithContentsOfURL:ipURL];NSDictionary *ipDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSString *ipStr = nil;if (ipDic && [ipDic[@"code"] integerValue] == 0) { //获取成功ipStr = ipDic[@"data"][@"country"];}return (ipStr ? ipStr : @"");
}//获取到的信息给大家放这里:
{code = 0;data =     {area = "华东";"area_id" = 300000;city = "杭州市";"city_id" = 330100;country = "中国";"country_id" = CN;county = "";"county_id" = "-1";ip = "xxxxxxxxx";isp = "电信";"isp_id" = xxxxxxx;region = "浙江省";"region_id" = xxxxxx;};
}

通过以上信息,可以实现判断运营商(当然也有其他方法啦),判断是国内还是国外(这个貌似少有方法可以判断,我说的是实时的哦),位置信息(这个无关痛痒了,LBS也可以啦,或者基于其他第三方的也行的)。

注意一点,这里的请求是同步的哦,但是速度很快,你也可以改造成异步,GET,POST都可以,放入链接到你对应的请求中就可以啦,当作简单的url来处理即可。

遇到一个问题就是,放入博主自定义的异步请求中,然后和dispatch_group的enter_group,leave_group一起用的时候不知道为什么卡住主线程了,要几十秒到一分多钟才能结束,很奇怪哦,但是上面这个同步方法一秒都不需要,博主索性直接同步来了,目前稳定,没试过放入AF的请求中,大家可以自己试试看,也许有惊喜。

就说这么多,大家一起学习吧。

iOS开发 - 获取网关IP,运营商,位置,可判断是在国内还是国外相关推荐

  1. IOS开发——获取局域网IP

    头文件 [plain] view plaincop #include <arpa/inet.h> #include <net/if.h> #include <ifaddr ...

  2. iOS获取设备型号,运营商,网络信息

    在 iOS开发中会经常遇到需要获取设备型号,运营商,网络信息来了解和分析用户信息及使用终端情况. 但是 iOS是不能直接获取设备型号的,需要调用C语言的API, 今天给大家带来目前所有苹果设备的型号获 ...

  3. java 根据ip地址获取地理位置及运营商。

    1.基于淘宝API /**      * 根据ip获取城市(运营商)名称      * @param ip      * @return      * @throws Exception      * ...

  4. Unity获取安卓手机运营商信息

    Unity获取安卓手机运营商,电量,wifi信号强度,本地Toast,获取已安装apk,调用第三方应用,强制自动重启本应用 一个完整的游戏项目上线需要不断的完善优化,但是到了后期的开发不再仅仅是游戏了 ...

  5. OpenWrt获取网关IP

    OpenWrt获取网关IP 一.概述 OpenWrt也是Linux,题目其实也可以叫做"Linux获取网关IP".一般想得知网关IP,都是因为本地接口设置了DHCP,网关IP,大多 ...

  6. 获取网关IP和MAC 的VB源码

    '窗体上加入控件command1,然后复制下面代码,运行,按command1即可. Option Explicit Private Declare Function OpenProcess Lib & ...

  7. java 判断手机运营商_Java开发中识别手机运营商的方法

    在Java开发中程序需要根据用户输入的号码判断运营商,这该怎么实现呢?而我们需要根据不同的运营商进行相应的处理,下面是爱站技术频道小编介绍的Java开发中识别手机运营商的方法. js实现方法: var ...

  8. IOS开发—— 获取AppDelegate的属性或字段

    IOS开发-- 获取AppDelegate的属性或字段 其它控制器中: AppDelegate *app = (AppDelegate *)[[UIApplication sharedApplicat ...

  9. php 运营商授权,PHP判断手机号运营商(详细介绍附代码)

    道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.15 ...

最新文章

  1. jquery ajax(实现单独提交某个form)
  2. Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记
  3. [云炬ThinkPython阅读笔记]3.1 函数调用
  4. Python开发【第一篇】:目录
  5. 基础编程题之不用加减乘除做加法
  6. 字符三角形(信息学奥赛一本通-T1004)
  7. angular.js学习笔记
  8. Matlab R2020a版安装下载详细操作步骤【Matlab 140期】
  9. HttpUtil工具
  10. 英语四六级考试系统+爬虫获取试题的系统(数据库设计)的开发思路
  11. 【032】基于51单片机的PT100热电阻温度计Proteus仿真设计
  12. c语言项目研发实训,C语言实训项目表V1.0.doc
  13. Easy Algorithms系列——详解递归与分治
  14. 已经有了阿里云OSS还需要开通CDN吗?
  15. Unity - Ray射线检测
  16. 云服务器的购买及搭建
  17. 手机怎样压缩图片大小?手机照片内存怎么缩小?
  18. 【Todo】【转载】深度学习神经网络 科普及八卦 学习笔记 GPU SIMD
  19. 2021年金属非金属矿山(小型露天采石场)安全管理人员复审考试及金属非金属矿山(小型露天采石场)安全管理人员考试申请表
  20. js实现数据统计分类

热门文章

  1. Mac-工具-IntelliJ IDEA升级2022.1问题
  2. Mysql安装后打开MySQL Command Line Client闪退处理办法,亲测有效
  3. 我用这个画3d图和电路图、上网,防止鼠标手
  4. ubuntu 16.04怎么更改文件夹里面所有子文件权限
  5. 电脑连接WiFi后显示找不到……的DNS地址
  6. JVM 启动参数规则:-、-X、-XX、-D表示什么意思?
  7. 2010水瓶座年运势
  8. android网络传输唤醒系统,Android手机唤醒群晖NAS系统
  9. HDU-6608-Fansblog(威尔逊定理+快速乘)(多校)
  10. 查看wifi连接路由器的MAC地址