我正在尝试使用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
答案 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) {
}];