AFNetworking失去了网络连接问题

时间:2013-11-04 11:07:06

标签: ios objective-c afnetworking

我正在尝试使用AFNetworking发送请求,但我遇到了“网络连接丢失”的问题,尽管请求很好。我正在尝试向客户发送请求,我得到了正确的回复。

请求的详细信息如下: 网址:https://www.ez-point.com/search 方法:GET 授权标题:xxxxxxxxxxxxxxx 请求有效负载:“search_text”:“value”

以下是我正在使用的代码:

NSURL *url = [[NSURL alloc] initWithString:@"https://www.ez-point.com/search"];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
    [request setValue:@"xxxxxxx" forHTTPHeaderField:@"Authorization" ];



    [request setHTTPMethod:@"GET"];

    NSMutableDictionary *jsonDic = [[NSMutableDictionary alloc]init];
    [jsonDic setValue:@"UJO526" forKey:@"search_text"  ];
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDic options:NSJSONWritingPrettyPrinted error:nil];
    [request setHTTPBody:jsonData];


    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    AFJSONRequestOperation *operation =
    [AFJSONRequestOperation JSONRequestOperationWithRequest:request
            success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
                NSArray *searchResults = JSON;
                if ([searchResults count] == 1){
                    id result = [searchResults objectAtIndex:0];
                    double latitude = [[result valueForKey:@"latitude"] doubleValue];
                    double longitude = [[result valueForKey:@"longitude"] doubleValue];
                    NSString *ezPoint = [result valueForKey:@"value"];
                    NSString *tags = [result valueForKey:@"tags"];

                    [self setAnnotation:latitude  ForLongitude:longitude withEZPoint:ezPoint WithTags:tags];
                }
            }
            failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {

            }
     ];
    [operation start];

我得到的错误是:

2013-11-04 15:01:05.143 EZ-POINT [4074:c07] E restkit.network:RKObjectRequestOperation.m:209 GET'https://www.ez-point.com/search'(0)[2.8806 s]:错误域= NSURLErrorDomain代码= -1005“网络连接丢失。” UserInfo = 0x88b5c30 {NSErrorFailingURLStringKey = https://www.ez-point.com/search,NSErrorFailingURLKey = https://www.ez-point.com/search,NSLocalizedDescription =网络连接丢失。,NSUnderlyingError = 0x1bc83790“网络连接丢失。”}

在REST客户端中,我在https://www.ez-point.com/search上使用参数Authorization:xxxxxx和Request Payload search_text进行GET:UJO526

Rest Client used

1 个答案:

答案 0 :(得分:1)

试试这个

  AFHTTPClient *client=[[AFHTTPClient alloc]initWithBaseURL:[NSURL URLWithString:@"https://www.ez-point.com/search"]];

    [[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES];
    [client registerHTTPOperationClass:[AFJSONRequestOperation class]];

    [client setDefaultHeader:@"Authorization" value:@"xxxxxxx"];
    [client setDefaultHeader:@"Content-type" value:@"application/json"];
    [client setDefaultHeader:@"Accept" value:@"application/json"];

    NSMutableDictionary *jsonDic = [[NSMutableDictionary alloc]initWithCapacity:1];
    [jsonDic setValue:@"UJO526" forKey:@"search_text"  ];


    [client getPath:@"" parameters:jsonDic success:^(AFHTTPRequestOperation *operation, id responseObject)
    {
        NSArray *searchResults = (NSArray *) responseObject;
        if ([searchResults count] == 1){
            id result = [searchResults objectAtIndex:0];
            double latitude = [[result valueForKey:@"latitude"] doubleValue];
            double longitude = [[result valueForKey:@"longitude"] doubleValue];
            NSString *ezPoint = [result valueForKey:@"value"];
            NSString *tags = [result valueForKey:@"tags"];

            [self setAnnotation:latitude  ForLongitude:longitude withEZPoint:ezPoint WithTags:tags];
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

    }];