私はIOSアプリケーションを開発しています。私はWindowsサーバーで独自の作成されたWebサービスホスティングを使用しています。 RapidSSLのSSL証明書も使用しています。UNIRest Https "ネットワーク接続が失われました"エラー
UniRest Objective-CライブラリUnirest Lib >>を使用しています。httpsアドレスを要求しようとすると、このエラーが発生します。
エラードメイン= NSURLErrorDomainコード= -1005 "ネットワーク接続は が失われました。" UserInfo = {NSUnderlyingError = 0x1702501a0 {エラー ドメイン= kCFErrorDomainCFNetworkコード= -1005 "ネットワーク接続は が失われました。 のUserInfo = {NSErrorFailingURLStringKey = https://myapi.com/authorize.aspx、 NSErrorFailingURLKey = https://myapi.com/authorize.aspx、 _kCFStreamErrorCodeKey = 54、_kCFStreamErrorDomainKey = 1、NSLocalizedDescription =ネットワーク接続が失われた。}}、 NSErrorFailingURLStringKey = https://myapi.com/authorize.aspx、 NSErrorFailingURLKey = https://myapi.com/authorize.aspx、 _kCFStreamErrorDomainKey = 1、_kCFStreamErrorCodeKey = 54、NSLocalizedDescription =ネットワーク接続が失われました}
しかし、httpプロトコルで同じアドレスを要求しても、エラーはありません。
ここにInfo.plist;
私は気付きました、Safariはまた、ページを開くことができません!奇妙な!
デスクトップChromeとデスクトップFirefoxではページを開くことができますが、デスクトップSafariも開くことができません。
は、ここに私のコードです:
+(void)RunAuthApiWithUsername:(NSString *)username Password:(NSString *)password completion:(void (^)(BOOL success, NSString* title, NSString* message))completionBlock
{
NSDictionary* headers = @{@"accept": @"application/json"
};
NSDictionary *parameters = @{@"username": username,
@"password": password
};
[[UNIRest post:^(UNISimpleRequest *request) {
[request setUrl:API_AUTHORIZE_URL];
[request setHeaders:headers];
[request setParameters:parameters];
}] asJsonAsync:^(UNIHTTPJsonResponse* response, NSError *error) {
NSDictionary *jsonDict = response.body.JSONObject;
NSString* isSuccess = [jsonDict objectForKey:@"success"];
if([isSuccess isEqualToString:@"1"]){
completionBlock(YES, nil, nil);
}
else{
completionBlock(NO, [jsonDict objectForKey:@"title"], [jsonDict objectForKey:@"message"]);
}
}];
}
https://stackoverflow.com/a/25996971/944634 –
私はもはやUnirestライブラリを使用していません。ありがとう。 –