1. 程式人生 > >iOS開發 獲取公網IP和區域網IP地址

iOS開發 獲取公網IP和區域網IP地址

//獲取公網IP非區域網IP
直接訪問此網址 NSString *url = @"http://ip.taobao.com/service/getIpInfo.php?ip=myip";
網址返回的JSON資料段
    {"code":0,
"data":{
        "country":"中國",
        "country_id":"CN",
        "area":"華東",
        "area_id":"300000",
        "region":"上海市",
        "region_id":"310000",
        "city":"上海市",
        "city_id":"310100"
,
        "county":"浦東",
        "county_id":"334115",
        "isp":"電信",
        "isp_id":"100227",
        "ip":"126.231.115.34"
    }

}

- (void)urlRequestOperation{

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

NSString *URLTmp1 = @"http://1212.ip138.com/ic.asp";

NSString *URLTmp = [URLTmp1

stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSData * resData = [NSDatadataWithContentsOfURL:[NSURLURLWithString:URLTmp]];

dispatch_async(dispatch_get_main_queue(), ^{

if (resData) {

//系統自帶JSON解析

NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000

);

//您的IP是:[122.222.122.22] 來自:上海市某某區 某某運營商

NSString *str3 = [[NSStringalloc] initWithData:resData encoding:gbkEncoding];

   }

        });

    });

}


//獲取區域網IP地址
- (NSString *)getIpAddresses{
    NSString *address = @"error";
    struct ifaddrs *interfaces = NULL;
    struct ifaddrs *temp_addr = NULL;
    int success = 0;
    // retrieve the current interfaces - returns 0 on success
    success = getifaddrs(&interfaces);
    if (success == 0)
    {
        // Loop through linked list of interfaces
        temp_addr = interfaces;
        while(temp_addr != NULL)
        {
            if(temp_addr->ifa_addr->sa_family == AF_INET)
            {
                // Check if interface is en0 which is the wifi connection on the iPhone
                if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"])
                {
                    // Get NSString from C String
                    address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
                }
            }
            temp_addr = temp_addr->ifa_next;
        }
    }
    // Free memory
    freeifaddrs(interfaces);
    return address;
}

相關推薦

iOS開發 獲取公網IP區域網IP地址

//獲取公網IP非區域網IP 直接訪問此網址 NSString *url = @"http://ip.taobao.com/service/getIpInfo.php?ip=myip"; 網址返回的J

JSP獲取公網IP區域網IP

問題:        將一個專案從一個伺服器遷移到到另一個伺服器的時候,部署完之後,開啟頁面發現請求的js和css的請求IP和伺服器IP對應不上,一直請求超時 解決      原來是在原來的伺服器上是把公網網絡卡放在了前面,直接用jsp獲取的本地IP,也是公網IP    

Java獲取客戶端及區域網ip地址

在java專案Controller層加入下面程式碼: public Map<String,Object>selectAccessory(HttpServletRequest request){ //public Map<String,Object>

指令碼設定IP bat 命令列設定自動獲取IP固定IP

由於辦公室網路需要固定IP和DNS才能上網, 在連線公共網路或者家裡又需要自動獲取IP和DNS才能上網。 頻繁手動切換很麻煩,就搞了兩個指令碼一鍵設定。 1.新建文字檔案, 命名為固定IP.bat 複製指令碼 @echo //-=-=-=-=-=-=-=-=-=-=-=-=-=-= @echo // 【固定

docker macvlan實現容器ip區域網互通

原文:http://qiankunli.github.io/2017/01/13/docker_macvlan.html 簡介 macvlan基礎 如果採用硬體支援的方式來設定vlan,交換機是劃分區域網的關鍵裝置,所以本文說xx vlan,主要是針對交換機說的。

關於公網IP私有IP的區別

關於公網IP和私有IP的區別 在百度直接搜尋IP會顯示公網IP,在cmd中輸入ipconfig,或者在Linux終端下輸入ifconfig,會顯示出私有ip,這兩個ip是不一樣的,那麼到底有什麼區別呢? 公網IP一般是運營商分配的,公網ip才能上網,但是不可能給每一個電腦分配一個IP,ipv4肯

java獲取本地IP伺服器IP

java獲取IP地址 最近公司在做日誌報警服務,並將異常資訊推送到簡聊,需要在異常資訊上新增IP地址,用於快速定位異常位置。總結以下知識點: 獲取本地IP地址 String address = InetAddress.getLocalHost().ge

CentOS的ip設定/Ubuntu的ip設定:在Oracle VM VirtualBOX下CentOS 7/Ubuntu 系統設定網路:接入internet(上網) 區域網 ip

##################CentOS為手動設定靜態IP步驟############# 注:以下部分ip用"*",替代保密:1:設定ip OK後,檢視這些資訊[配置這些即可]: Netmask 子網掩碼,Gateway 預設閘道器,HostName 主機名稱,Do

獲取客戶端IP本地IP的工具類

import java.net.InetAddress; import java.net.UnknownHostException; import javax.servlet.http.HttpServletRequest; /** * 功能說明:IP地址

PHP程式碼如何實現獲取真實IP代理IP

REMOTE_ADDR 是你的客戶端跟你的伺服器“握手”時候的IP。如果使用了“匿名代理”,REMOTE_ADDR將顯示代理伺服器的IP。  HTTP_CLIENT_IP 是代理伺服器傳送的HTTP頭。如果是“超級匿名代理”,則返回none值。同樣,REMOTE_ADD

iOS開發:字典(NSDictionary)陣列( NSArray)轉換成字串

概述: 在專案開發中,總是與伺服器進行著介面的互動,傳參是不可缺少的一部分。後臺返回的j son資料我們可以很好的解析使用,但是我們如何向後臺傳送j son資料的引數呢?要知道,一般伺服器是不允許傳物件的。以下是在專案中遇到的實際問題,在此總結一下,供大家交流。 一. 字典轉字串:

動態IP靜態IP的區別如何使用動態IP

動態IP需要在連線網路時自動獲取IP地址以供使用者正常上網,而靜態IP是ISP或網路裝置分配給使用者的IP地址,可以直接連線上網,不需要獲取IP地址,那靜態ip與動態ip的區別在哪裡呢?        動態IP和靜態IP對網速的影響   ISP對每個使用者所提供的網速,並

客戶端IP伺服器IP講解?

IP(網路之間互連的協議) 網際網路協議地址(英語:Internet Protocol Address,又譯為網際協議地址),縮寫為IP地址(英語:IP Address),是分配給網上上使用網際協議(英語:Internet Protocol, IP)的裝置的數字標籤。常見的IP地址分為IPv

iOS開發 - 獲取真機沙盒資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

iOS開發優秀部落格軟體推薦

iOSBlogAndTools iOS開發優秀部落格和軟體推薦 本部落格和工具列表由廣大iOS開發者收集和推薦,如果大家有好的部落格或者工具想要分享請點選:我要提交。 收到大家的提交後會及時收錄與更新。 GitHub地址:https://github.com/imlifengfeng/i

wan ip lan ip知識

wan ip:外網IP你上網的真實IP lan IP:區域網IP 為什麼在路由器中查詢到的wan IP不是公網IP呢? 因為IP數量是有限的,運營商不會給個人分配一個公網IP,所以運營商會利用路由器技術把這個公網劃分成很多個區域網IP分給每一個使用者(有可能一次劃分還不夠所以需要多次劃分

iOS開發tableView的tableHeaderView代理中viewForHeaderInSection的區別

混淆的概念 tableView.tableHeaderView  - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 之前在tableVie

iOS開發之給navigationbarview設定同一張圖片

###### 效果一: 今天因為這個小東西被吐槽了...但還是決定記錄一下... 其實說是給navigationbar和view設定同一張圖片是不對的,應該是隱藏navigationbar,再去掉statusbar的背景色,新增view 最開始

固定IP自動IP切換bat指令碼

最近在忙專案,部落格更新基本斷了,gis方面學習暫無太大進展。 最近公司換位置,重新分配ip,之前都沒用有線,現在遇到問題是公司固定ip,家裡自動分配ip,來回修改很麻煩。 查了網上的有不少方案,但是試了有點小問題,後來查查才知道什麼原因,直接上程式碼細說,把下面複製到t

公有IP私有IP

什麼是公有IP地址(公網IP): 組建一個企業級網路,需要去向“電信運營商ISP”申請一個接入Internet的寬頻,同時ISP還會給我們分配一個或多個IP地址,這些IP地址可以供我們企業內部上網,這些ISP分配給我們的IP,就是公有IP。 公有地址(Public add