我正在创建一个iOS应用,我需要检查主机(例如google.com)是否可用(或是上/下)。我一直在使用这段代码:
NSString *host = theTextField.text;
bool success = false;
const char *host_name = [host
cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL,
host_name);
SCNetworkReachabilityFlags flags;
success = SCNetworkReachabilityGetFlags(reachability, &flags);
bool isAvailable = success && (flags & kSCNetworkFlagsReachable) &&
!(flags & kSCNetworkFlagsConnectionRequired);
if (isAvailable) {
status.text = @"The host is up! :)";
} else {
status.text = @"The host is down! :(";
}
}
但是我感觉它不会像它应该的那样有效。例如,如果我输入google.com
它就说明了,好吧,但是如果我输入我的网页的网址(这是自动取款机),它说它也是(地址是zad0xsis.net
)。如果我输入一个假地址,它说它已经失效,所以它可能正常工作,我可能会想到IDK的奇怪之处。
答案 0 :(得分:0)
答案 1 :(得分:0)
您是否尝试过终端的ping zad0xsis.net
?如果你收到一个成功的回复,那么我相信它是关于一些我不擅长的网络东西。