美文网首页
iOS 解析域名

iOS 解析域名

作者: 一__谷__作气 | 来源:发表于2017-07-18 13:47 被阅读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地址可以在解析商处随意更改

    相关文章

      网友评论

          本文标题:iOS 解析域名

          本文链接:https://www.haomeiwen.com/subject/hffhkxtx.html