get请求
- (void)http_get:(NSString *)api params:(NSDictionary *)params
callback:(void (^)(NSObject *))callback fail_callback:(void (^)(AFHTTPRequestOperation *))failcallback {
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:api parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
callback(responseObject[@"r"]);
if (_device_id && !_device_sended) {
_device_sended = YES;
[self performSelector:@selector(send_push_tok) withObject:nil afterDelay:1.0];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"HTTP Error: %@", error);
if (failcallback != nil) {
failcallback(operation);
}else{
if (operation.response) {
ALERT(STRF(@"请求错误: %d", (int)operation.response.statusCode));
}else{
ALERT(@"无法连接到服务器");
}
}
}];
}
post 方法
- (void)http_post:(NSString *)api params:(NSDictionary *)params
callback:(void (^)(NSObject *))callback fail_callback:(void (^)(AFHTTPRequestOperation *))failcallback {
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSArray *cookies;
if ([api isEqualToString:HTTPAPI_LOGIN] || [api isEqualToString:HTTPAPI_NEWONE]) {
cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [NSURL URLWithString:HTTPAPI_ROOT]];
for (NSHTTPCookie *c in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:c];
}
}
[manager POST:api parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
if ([api isEqualToString:HTTPAPI_LOGIN] || [api isEqualToString:HTTPAPI_NEWONE]) {
NSArray *arr = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL: [NSURL URLWithString:HTTPAPI_ROOT]];
for (NSHTTPCookie *c in arr) {
if ([@"simH" isEqualToString:c.name]) {
NSLog(@"session: %@", c);
[[User ins] save_session:c.value];
}
}
}
NSLog(@"JSON: %@", responseObject);
callback(responseObject[@"r"]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"HTTP Error: %@", error);
if ([api isEqualToString:HTTPAPI_LOGIN] || [api isEqualToString:HTTPAPI_NEWONE]) {
for (NSHTTPCookie *c in cookies) {
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:c];
}
}
if (failcallback != nil) {
failcallback(operation);
}else{
if (operation.response) {
ALERT(STRF(@"请求错误: %d", (int)operation.response.statusCode));
}else{
ALERT(@"无法连接到服务器");
}
}
}];
}