iOS根据域名获取IP

#include <netdb.h>
#include <arpa/inet.h>

- (NSString *)getIPWithHostName:(NSString *)hostName {
    const char *hostN = [hostName UTF8String];
    struct hostent* phot;
    @try {
        phot = gethostbyname(hostN);
    }
    @catch (NSException *exception) {
        return nil;
    }
    if (!phot) {
        return nil;
    }
    struct in_addr ip_addr;
    memcpy(&ip_addr, phot->h_addr_list[0], 4);
    char ip[20] = {0};
    inet_ntop(AF_INET, &ip_addr, ip, sizeof(ip));
    NSString *strIPAddress = [NSString stringWithUTF8String:ip];
    return strIPAddress;
}

//连外网获取
NSLog(@"域名转 ip = %@",[self getIPWithHostName:@"www.baidu.com"]);//157.148.69.74
//连内网获取
NSLog(@"域名转 ip = %@",[self getIPWithHostName:@"dmcss-pv-gn.sdc.cs.icbc"]);//122.71.8.208
NSLog(@"域名转 ip = %@",[self getIPWithHostName:@"cmcss-pv-gn.sdc.cs.icbc"]);//122.28.248.37
NSLog(@"域名转 ip = %@",[self getIPWithHostName:@"cmcss-app-mobileapp-dcpp.sdc.cs.icbc"]);//122.30.216.61
NSLog(@"域名转 ip = %@",[self getIPWithHostName:@"dmcss-app-mobileapp-dcpp.sdc.cs.icbc"]);//122.30.216.60
NSLog(@"域名转 ip = %@",[self getIPWithHostName:@"mcss-app-mobileapp-dccp.sdc.cs.icbc"]);//122.71.11.67
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容