我正在使用AFHTTPRequestOperationManager制作我的应用程序并进行POST请求。
我有4个网址,它们都可以正常与服务器通信,它们的格式、用法等都非常相似。因此,我将它们编码为相同的方式。实际上,我只有一个if语句来确定我将使用哪个网址进行相同的方法,所以每次我使用POST请求任何网址时,我都使用相同的网址。
对于其中的3个,它们完全正常工作,但是第4个无论我如何使用它,它总是会出现“Domain=NSURLErrorDomain Code=-1005”网络连接丢失”的错误。
我在我的服务器上测试了这个网址,它可以正常工作。服务器没有问题,但是AFNetworking不会发送此请求。如果它是真正的DC,那么我的其他URL仍然可以正常工作吗?
我在IOS8 beta2上运行此应用程序,我不知道beta是否会导致问题?(我怀疑)请帮忙...
示例代码:
#define SERVER_URL @"http://54.187.63.214/"
#define SERVER_LIKE_URL @"candidate_likeJob/"
#define SERVER_DISLIKE_URL @"candidate_dislikeJob/"
- (void) likeOrSkipJob:(BOOL)isLike{
UserSetting *setting = [UserSetting getSetting];
UFCompany *matchedCompany = [matchedCompanies lastObject];
UFJob *matchJob = [matchedCompany.jobs firstObject];
NSLog(@"like job : %@", matchJob.position);
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];
NSString *likeURL = [NSString stringWithFormat:@"%@%@",SERVER_URL,isLike? SERVER_LIKE_URL: SERVER_DISLIKE_URL];
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys: setting.ufind_id, @"candidate_id", matchJob.job_id, @"job_id", nil];
NSLog(@"Request URL: %@ with params %@", likeURL, params);
[manager POST:likeURL parameters:params success:^(AFHTTPRequestOperation *operation, NSDictionary *response) {
NSString *status = [response objectForKey:@"status"];
//if server tell status ok
if ([status isEqualToString:@"ok"]) {
NSLog(@"%@ job success", isLike? @"Like":@"Dislike");
//update the work if like succeed
[matchedCompanies removeLastObject];
[self updateMatchScreen];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"like request failed %@", error);
}];
}
服务器类似的 URL 会生成 -1005 "连接丢失" 错误,但服务器不喜欢的 URL 总是能够正常工作。