我对objective-c很新,并且在使用AFNetworking时遇到了困难。
我的问题是,我想向一个服务器发出一个简单的POST请求,该服务器将向我发送一个salt。 为了测试我的请求,我制作了一个简单的应用程序,但我不明白为什么会得到错误代码999。
这是我的代码示例:
+ (void)simpleRequest; {
NSURL *mailserver = [NSURL URLWithString:@"https://localhost:4443/"];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithBaseURL:mailserver];
manager.securityPolicy.allowInvalidCertificates = TRUE;
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSDictionary *parameters = @{@"username": @"testtest"};
[manager POST:@"api/v0/login/salt" parameters:parameters success:^(NSURLSessionDataTask *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionDataTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
我已经将这段代码链接到一个简单的按钮上,该按钮调用此函数。
我有另一个Ruby Motion应用程序,该函数正常工作,我可以获得响应而不会出现任何错误。但是,在这个简单的应用程序中,我无法进行任何请求,它们都返回错误代码999。
错误:Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo={NSErrorFailingURLKey=https://localhost:4443/api/v0/login/salt, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://localhost:4443/api/v0/login/salt}
所以我真的想知道我做错了什么,有人能帮助我吗? 谢谢
编辑:
将管理器保存在属性中是否为正确方法,还是我做错了什么? 如果这是正确的方法,似乎这行代码不起作用。 感谢您的帮助
.h文件
@property (nonatomic, retain) AFHTTPSessionManager *session;
.m文件
@synthesize session;
- (IBAction)log:(id)sender {
NSURL *mailserver = [NSURL URLWithString:@"https://localhost:4443/"];
self.session = [[AFHTTPSessionManager alloc]initWithBaseURL:mailserver];
self.session.securityPolicy.allowInvalidCertificates = TRUE;
self.session.responseSerializer = [AFJSONResponseSerializer serializer];
self.session.requestSerializer = [AFJSONRequestSerializer serializer];
NSDictionary *parameters = @{@"username": @"testtest"};
[self.session POST:@"api/v0/login/salt" parameters:parameters success:^(NSURLSessionDataTask *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionDataTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];