私の iPhone アプリケーションには、サーバーへのいくつかの http 要求が含まれています。サーバーのIPアドレスはユーザーが入力できるため、独自のプライベートサーバーと組み合わせてアプリを使用できます.
リクエストを行う前に、入力された IP アドレスが有効かどうかを常に確認し、次のようにします。
-(BOOL)urlExists {
NSString *url = [NSString stringWithFormat:@"%@", ipAddress];
NSURLRequest *myRequest1 = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0];
NSHTTPURLResponse* response = nil;
NSError* error = nil;
[NSURLConnection sendSynchronousRequest:myRequest1 returningResponse:&response error:&error];
if ([response statusCode] == 404){
return NO;
}
else{
return YES;
}
[url release];
[response release];
[error release];
[myRequest1 release];
}
これは、入力したアドレスが xx.xx.xxx.xxx のような形式であれば問題なく機能しますが、「1234」または「test」のようなものを入力しようとすると、上記のコードは機能しません。そのため、入力したアドレスが IP アドレスのように「見える」かどうかを何らかの方法で確認する必要があり、これを行う方法がわかりません。
どんな提案でも大歓迎です!