私たちは、ログイン画面のために休憩Webサービスを呼び出す必要があるアプリケーションを持っています。私たちはこのエラーを取得した後、我々は他を受け取ることができませんiOS休憩Webサービス無効なホストエラーを返す
<HTML><HEAD><TITLE>Invalid Host Specified</TITLE></HEAD>
<BODY>The request did not specify a valid virtual host.</BODY></HTML>
:このWebサービスを呼び出している間、私たちは時折、結果を受け取ることができますが、何回も、私たちは、次のようなメッセージでヌルデータを取得しています結果が表示され、アプリがログイン画面に表示されなくなります。我々は、アプリケーションを閉じて、それを開いて、Webサービスが動作するかどうかを再度試してみる必要があります。
このエラーの原因は何ですか?結果を受け取るのにNSURLConnection
とNSURLSession
の両方を試しましたが、どちらも同じ問題があります。誰かがこれに対する解決策を提示するか、少なくとも問題を解決するために正しい方向に向けると、本当に役に立ちます。すべての可能性で
-(void)startWebServiceForURL:(NSString *)URL withInputJson:(NSString *)inputJson forView:(UIView *)parentView completionBlock:(DownloadCompletionBlock)completionBlock errorHandlingBlock:(DownloadErrorBlock)ErrorBlock
{
if (_showIndicator)
{
UIWindow *window = [[[UIApplication sharedApplication] windows] lastObject];
UIViewController *viewC = [window rootViewController];
_progressIndicator = [MBProgressHUD showHUDAddedTo:viewC.view animated:YES];
}
_completion = completionBlock;
NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:URL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:[NSString stringWithFormat:@"%lu",(unsigned long)[inputJson length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[inputJson dataUsingEncoding:NSUTF8StringEncoding]];
[request setTimeoutInterval:60.0f];
NSURLSession * session = [NSURLSession sharedSession];
[[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
dispatch_async(dispatch_get_main_queue(),
^{
if (_showIndicator)
{
[_progressIndicator hideAnimated:YES];
}
if (!error && data != nil)
{
NSLog(@"result received!!!");
NSError * error1;
{
NSLog(@"print something else");
NSString* newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"new string: %@", newStr);
NSDictionary * jsonDictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error1];
NSLog(@"received data: %@", jsonDictionary);
if (!error1)
_completion(YES,jsonDictionary);
else
{
_error = ErrorBlock;
_error(error1);
}
}
}
else
{
NSLog(@"error receiving result");
_error = ErrorBlock;
_error(error);
if (error.domain == NSURLErrorDomain && error.code == NSURLErrorNotConnectedToInternet)
{
NSLog(@"not connected");
}
}
});
}] resume];
}
あなたがしようとしていることを人々が見ることができるように、おそらくコードを投稿する必要があります。私はあなたの記述だけで十分に誰にでも行くことを疑うことはありません – Flexicoder
あなたは確かに、このエラーはNSURLConnectionまたはNSURLSessionに関連していますか?ヒント:Webサービスはどうですか? – CouchDeveloper
@CouchDeveloper - iOS 8より前に頻繁に使用していたので、NSURLConnectionをチェックしました。 –