获得网络连接的问题与AFNetworking丢失
问题描述:
我试图发送一个请求与AFNetworking,但我遇到了“网络连接丢失”的问题,虽然请求是好的。我正在尝试向客户端发送请求,并且我得到了正确的响应。获得网络连接的问题与AFNetworking丢失
请求的细节是: 网址:https://www.ez-point.com/search 方法:GET Authorization头:XXXXXXXXXXXXXXX 请求负载: “SEARCH_TEXT”: “值”
这里是我使用的代码:
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月4日15:01:05.143 EZ-POINT [4074:C07]ê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客户,我正在做一个GET上https://www.ez-point.com/search与参数,授权:XXXXXX,并请求负载SEARCH_TEXT:UJO526
答
试试这个
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) {
}];
随着你的代码,我得到这个错误:2013-11-04 15:39:52.517 EZ-POINT [4489:c07] E restkit.network:RKObjectRequestOperation.m:209 GET'https://www.ez-point。 com/search /?search_text = UJO526' – Noor
这是返回404错误,因为在URL末尾添加了额外的文本 – Noor
确定这是一个get方法? –