iOSの

2017-04-24 7 views
2

でドメインのCNAMEを取得するにはどうすれば以下のように、ドメインを解決し、そのCNAMEやIP情報を取得したいと思います: - > cname.com -iOSの

example.comのIPアドレス>

私は多くを検索し、IPアドレスを取得する方法を知っています。 CFHost。しかし、私はまだCNAMEのような他の情報を得る方法を知らない。

CFHostなどでこれを行う必要がありますか?

+0

ためのコードの下に使用することができますか? – dfd

+0

私は迅速に私のアプリを開発しようとしました。私はこのタグを削除します。 – fightinglion

答えて

0

これはスウィフトとしてタグ付けされたのはなぜあなたはあなたの目的

+ (void) getCNAME { 
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    DNSServiceRef serviceRef; 
    DNSServiceErrorType error; 
    error = DNSServiceQueryRecord(&serviceRef, 0, 0, "apple.com", kDNSServiceType_CNAME, 
            kDNSServiceClass_IN, queryCallback, NULL); 
    if (error != kDNSServiceErr_NoError){ 
     NSLog(@"DNS Service error"); 
    } 

    DNSServiceProcessResult(serviceRef); 
    DNSServiceRefDeallocate(serviceRef); 
});} 

static void queryCallback(DNSServiceRef sdRef, 
         DNSServiceFlags flags, 
         uint32_t interfaceIndex, 
         DNSServiceErrorType errorCode, 
         const char *fullname, 
         uint16_t rrtype, 
         uint16_t rrclass, 
         uint16_t rdlen, 
         const void *rdata, 
         uint32_t ttl, 
         void *context) { 

if (errorCode == kDNSServiceErr_NoError && rdlen > 1) { 
    NSMutableData *txtData = [NSMutableData dataWithCapacity:rdlen]; 

    for (uint16_t i = 1; i < rdlen; i += 256) { 
     [txtData appendBytes:rdata + i length:MIN(rdlen - i, 255)]; 
    } 

    NSString *theTXT = [[NSString alloc] initWithBytes:txtData.bytes length:txtData.length encoding:NSASCIIStringEncoding]; 
    NSLog(@"CNAME: %@", theTXT); 
}} 
+0

私のためには機能しません。 –