iOS 解析域名

2017-07-18  本文已影响39人  一__谷__作气

在iOS中解析域名得到ip地址然后直接连接

            char *arr[]={"www.baidu.com"};
           // int x = arc4random()%(sizeof(arr)/sizeof(arr[0]));  //  随机获取C数组的元素index,此处为0
            struct hostent *host = gethostbyname(arr[x]);
            if (host==NULL) {
                    //此处为解析域名失败的操作,
            }else{
                NSLog(@"随机的域名是%s",host->h_name);
                struct in_addr **list = (struct in_addr **)host->h_addr_list;
                //  域名解析可以得到很多IP地址,此处获得解析到的IP数组 list
                NSString *ip;
                NSMutableArray *IPArr=[[NSMutableArray alloc]init];

              //while 循环得到所有的得到的IP地址 放入OC IPArr数组中
                while(host->h_addr_list[i]!=0){
                    ip= [NSString stringWithCString:inet_ntoa(*list[i++]) encoding:NSUTF8StringEncoding];
                    NSLog(@"--------ip是%@\r\n",ip);
                    [IPArr addObject:ip];
                }
                int num = arc4random()%IPArr.count;
                NSLog(@"随机到第几个---%d",num);
                //最后取出随机的一个可用的IP
            }

此方法可以在客户端中书写域名,真实的IP地址可以在解析商处随意更改

上一篇下一篇

猜你喜欢

热点阅读