HTTP Getリクエストを実行しようとしていますが、Error Domain = NSURLErrorDomain Code = -1012エラーが発生し続けます。私のコードは:
@try {
NSString *url = [[NSString alloc] initWithFormat:@"%@%@", @"http://api.mintchat.com/agent/chats/", agentSecret];
NSLog(@"******Agents Active List URL Str - %@", url);
NSURL *nsUrl = [NSURL URLWithString:url];
NSLog(@"******Agents Active List URL - %@", nsUrl);
// Make the request, returning a JSON response, just as a plain old string.
//NSData *jsonDataString = [[NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error: nil] dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:nsUrl];
[request setHTTPMethod:@"GET"];
[request setValue:API_ID forHTTPHeaderField:@"X-API-ID"];
[request setValue:API_SECRET forHTTPHeaderField:@"X-API-SECRET"];
NSHTTPURLResponse *response = nil;
NSData *urlData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"Response Code %d", [response statusCode]);
if ([response statusCode] >= 200 && [response statusCode] < 300) {
NSString *responseData = [ [NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData);
} else {
if (error)
NSLog(@"ERror : %@", error);
}
}@catch(NSException *e) {
NSLog(@"Exception - %@", e);
}
私はJSonで応答を取得する予定ですが、動作していないため、通常の応答で試行しています。リクエストに追加するヘッダーを確認しました。両方の値をヘッダーに追加する必要があります。 URLも適切です。
私が得る結果/ログは次のとおりです:応答コード0
エラー:エラードメイン= NSURLErrorDomainコード= -1012「操作を完了できませんでした。(NSURLErrorDomainエラー-1012。)」UserInfo = 0x8abf470 {NSErrorFailingURLKey = ....... NSErrorFailingURLStringKey = ...... NSUnderlyingError = 0x8dafed0 "操作を完了できませんでした。(kCFErrorDomainCFNetworkエラー-1012。)"}
私はまた、このエラーをネット登録でたくさん検索しました、ビットは実質的な助けを得ることができませんでした。 WebサーバーAPIへのアクセスについても確認しました。他のURLでも同じ結果が得られます。 3つのURLから、POSTを使用して最初のURLの結果を得ることができましたが、他の2つのURL-それを通り抜けることができませんでした。
誰でもこの問題について私を助けてくれますか?どこがいけないの?なぜAPIにアクセスできないのですか?どんな助けでも大歓迎です。ありがとう
このエラーはNSURLErrorUserCancelledAuthenticationです。
認証の非同期要求がユーザーによってキャンセルされたときに返されます。これは通常、ユーザーが認証を試行するのではなく、ユーザー名/パスワードダイアログの[キャンセル]ボタンをクリックすることで発生します。
これは、リクエストに適切に署名せずにアクセスしようとしているリソースにアクセスするために認証が必要であることを意味します(agentSecret、API_ID、またはAPI_SECRETは正しくありません)。
AFNetworkingで不正な/期限切れの証明書を使用してHTTPS(HTTPではない)URLにアクセスしているときに、このエラーが発生する場合があります。 (Chromeでは、URLをクリックすると「接続は非公開ではありません」というメッセージが表示されます)。
私の場合、afnetworking httpクライアントの次のフラグに「Yes」を設定するだけです。 allowInvalidSSLCertificate = YES、https getリクエストに対して機能を開始します。
それが誰かを助ける場合、サーバーが401
(無許可)ステータスコードを返すたびにこのエラーが発生します。