UNIRest Https“网络连接丢失”错误

时间:2017-02-01 07:24:34

标签: ios objective-c ssl https unirest

我正在开发一个IOS应用程序,我在Windows服务器中使用自己创建的Web服务托管。我也使用RapidSSL的SSL证书。

我正在使用UniRest Objective-C库Unirest Lib >>,当我尝试请求https地址时,我收到此错误。

  

错误域= NSURLErrorDomain代码= -1005“网络连接是   丢失。“UserInfo = {NSUnderlyingError = 0x1702501a0 {错误   Domain = kCFErrorDomainCFNetwork Code = -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 here;

enter image description here

我刚刚意识到,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"]);
        }
    }];
}

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,看起来它不是超时问题。我在使用Alamofire时遇到过这种情况,我认为这与TLS问题有某种关系,因为这是我们在服务器端改变的。