大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有个 HTTP 的库,可以直接获取设备的 IP 地址。直接去搜 http server 。下载就可以用。
创新互联建站2013年至今,先为白银等服务建站,白银等地企业,进行企业商务咨询服务。为白银企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在flutter方面开发过程中,有一个痛点,那就是没有办法进行抓包,如何解决呢,我初步的想法是原生获取到所代理的ip和端口,给fluter传递过去,然后flutter在请求相关的处理中,把ip和端口设置进去。
一次在做获取硬件信息的时候,需要获取所连接网络的IP地址,
首先导入头文件:
#import ifaddrs.h
#import arpa/inet.h
方法:
+ (NSString*)getCurentLocalIP{
NSString*address =nil;
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) {
NSLog(@"%d",temp_addr-ifa_addr-sa_family);
if(temp_addr-ifa_addr-sa_family==AF_INET|| temp_addr-ifa_addr-sa_family==AF_INET6|| temp_addr-ifa_addr-sa_family==AF_LINK) {
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;
}
此方法可以直接调用,如果是tvOS,将en0改为en1,这是固定的写法。
这里只介绍获取公网ip的几个地址:
1、新浪:
2、淘宝:
3、
4、
使用postman 请求下就知道了。后面两个请求慢一些。 还有注意一下,地址是会变的,所以iOS获取公网IP暂时是没有提供可靠的原生获取方法。将就着用吧
第一种方法是用系统api的方式获取,如下 #include stdio/n09230945/n09230945.asp这个http url就可以获取你当前的ip地址。
1、点击桌面右上角的“无线图标”,无线网卡自动搜索环境中的无线网络,然后点击“打开网络偏好设置”,进入“网络偏好设置”界面。
2、选择需要设置IP地址的网卡(本例中以无线网卡为例)。选择“AirPort”,接着点击“高级”,进入“AirPort”网络参数设置页面。
3、选择“TCP/IP”,进入IP地址设置界面。
4、选择“使用DHCP(即为自动获取IP地址)”,设置完毕。点击“好”,返回“网络偏好设置”页面。
5、点击“应用”使所有设置生效。