iOS 客户端如何获取域名IP

小功能,iOS客户端如何获取域名IP


来自知乎网友

上代码:

{

NSString *hostname = @"www.baidu.com";

CFHostRef hostRef = CFHostCreateWithName(kCFAllocatorDefault, (__bridge CFStringRef)hostname);

if (hostRef)

{

Boolean result = CFHostStartInfoResolution(hostRef, kCFHostAddresses, NULL);

if (result == TRUE)

{

NSArray *addresses = (__bridge NSArray*)CFHostGetAddressing(hostRef, &result);

tempDNS = [[NSMutableArray alloc] init];

for(int i = 0; i < addresses.count; i++)

{

struct sockaddr_in* remoteAddr;

CFDataRef saData = (CFDataRef)CFArrayGetValueAtIndex((__bridge CFArrayRef)addresses, i);

remoteAddr = (struct sockaddr_in*)CFDataGetBytePtr(saData);

if(remoteAddr != NULL)

{

const char *strIP41 = inet_ntoa(remoteAddr->sin_addr);

NSString *strDNS =[NSString stringWithCString:strIP41 encoding:NSASCIIStringEncoding];

NSLog(@"RESOLVED %d:<%@>", i, strDNS);

[tempDNS addObject:strDNS];

}

}

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容