**:
查詢了一些方法,最初以為拿到的就是手機對外的公網位址,其實只是本地ip位址。下面把獲取手機內外網ip位址的方法總結下:
方法1:
首先匯入標頭檔案:
[objc]
view plain
copy
//ip位址需求庫
#import
#import
#import
#import
#import
具體方法:
[objc]
view plain
copy
//獲取裝置ip位址
-(nsstring
*)getdeviceipaddresses
ptr += sizeof
(ifr->ifr_name) + len;
if(ifr->ifr_addr
.sa_family
!=af_inet)
continue
; if
((cptr = (
char
char
*)strchr(ifr->ifr_name,
':')) !=
null
) *cptr =
0;
if(strncmp(lastname, ifr->ifr_name,ifnamsiz) == 0)
continue
; memcpy(lastname, ifr->ifr_name,ifnamsiz);
ifrcopy = *ifr;
ioctl(sockfd,siocgifflags, &ifrcopy);
if((ifrcopy
.ifr_flags
&iff_up) == 0)
continue
; nsstring
*ip = [nsstring
stringwithformat
:@"%s"
,inet_ntoa(((
struct
sockaddr_in
*)&ifr->ifr_addr)->sin_addr)];
[ipsaddobject
:ip];
} }
close(sockfd);
nsstring
*deviceip =
@"";
for(
inti=
0; i
.count
; i++)
} return
deviceip;
}
參考:方法2:
匯入兩個標頭檔案,此法只能獲取到wifi環境下的本地ip,比較簡潔
[objc]
view plain
copy
#import
#import
[objc]
view plain
copy
+ (nsstring
*)deviceipadress
} temp_addr = temp_addr->ifa_next;
} }
freeifaddrs(inte***ces);
// nslog(@"手機的ip是:%@", address);
return
address;
}
二、獲取手機外網ip(公網ip)
網上找了很久獲取外網ip的方法,很多訪問**已經不能用了,能用的主要有2個,但是獲取到的ip位址不同,下面詳細介紹。
[objc]
view plain
copy
-(nsstring
*)devicewanipaddress
return
(ipstr ? ipstr :
@"");
}
訪問介面返回的json資料:
可能是此介面精確到了具體的區。。。)
[objc]
view plain
copy
-(nsstring
*)getwanipaddress
return
@"";
}
訪問介面取到的資料:
參考:還有乙個介面可直接獲取到ip,但返回比較慢,可能返回失敗,不推薦。
[objc]
view plain
copy
nserror
*error;
nsurl
*ipurl = [nsurl
urlwithstring
:@""
];
nsstring
*ip = [nsstring
stringwithcontentsofurl
:ipurl
encoding
:nsutf
8stringencoding
error
:&error];
iOS 獲取手機外網IP位址的成功與失敗
一 獲取手機外網ip 公網ip 網上找了很久獲取外網ip的方法,很多訪問 已經不能用了,能用的主要有2個,但是獲取到的ip位址不同,下面詳細介紹。objc view plain copy nsstring devicewanipaddress else if code 1 訪問介面成功返回的json...
Android獲取外網和內網ip位址
獲取內網ip位址 param context return public static string getintranetipaddress context context catch socketexception e else if info.gettype connectivitymanag...
如何修改手機ip位址
手機相對於電腦那個更加的好用,可能兩種的使用需求不同,很多的方面無法進行比較,但是手機更方便攜帶,對於外出手機使用的可能會更多會,因此手機的 ip出現,是因為除去電腦工作,使用手機工作的是最多的,並且相對於電腦,手機更加的方便。網際網路發展迅速,所以很多時候我們在上網或者工作時都需要換ip,因為換i...