有很多「誤報」帖子,儘管沒有一個符合我的情況。 (大多數人都在談論互聯網連接錯誤..)URL reachablility - false positive
與其他人一樣,我只想確定一個特定的URL是否有效。 現在,我正在處理子域名,只要我選擇了有效的域名,它就會很好用。如果我選擇無效的子域名,我會得到誤報。使用瀏覽器進行測試表明,如果我輸入一個不存在的URL,我的ISP會給我一個非常煩人的建議頁面。
任何方式來驗證響應服務器實際上是在我要求的URL?
我的代碼:
-(BOOL) canConnectToURL:(NSString *)sURL {
BOOL bSuccess = NO;
if (![txtSubDomain.text.lowercaseString isEqual: @"www"]){
NSLog(@"canConnectToURL(%@)",sURL);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL URLWithString: sURL]];
[request setHTTPMethod: @"HEAD"];
NSURLResponse *response;
NSError *error;
[NSURLConnection sendSynchronousRequest: request returningResponse: &response error: &error];
NSLog(@"URL: %@",sURL);
NSLog(@"data: %@",response);
bSuccess = ([(NSHTTPURLResponse *)response statusCode] == 200);
}
return bSuccess;
}
自插頭警告:我寫了一個很小的類,在這裏做的可達性:HTTPS://github.com/jackwu95/JWReachability/blob/master/JWReachability.m – Jack