AFHTTPSessionManager发布请求
问题描述:
我想发布请求到服务器。如果我使用NSURLSessionDataTask,它工作正常。但在我下面我需要使用AFNetworking,因为我的整个应用程序正在使用它。但是当我试图用POST方法在AFHTTPSessionManager中击中相同的服务时,它会让我请求超时。AFHTTPSessionManager发布请求
以下是两个代码。
NSError *error;
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:nil delegateQueue:nil];
NSURL *url = [NSURL URLWithString:@"BASE URL"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request addValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setHTTPMethod:@"POST"];
NSString *postString = @"1";
NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:data];
NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}];
[postDataTask resume];
AFNetworking套件版本: -
AFHTTPSessionManager *client = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:@"BASE URL"]];
NSDictionary *request = @{@"Content-Type":@"application/json",
@"Accept":@"application/json",
};
NSString *postString = @"1";
NSData *data = [postString dataUsingEncoding:NSUTF8StringEncoding];
[client POST:@"" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithHeaders:request body:data];
} success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"%@",responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"%@",error);
}];
请帮我在正确的方式来实现它。
答
我通过创建自己的请求并将其配置赋予AFURLSessionManager然后持有我自己的NSURLSessionUploadTask对象来解决此问题。
谢谢
+0
这将是太棒了,如果你发布了一些解决方案。 –
请参考附带的问题。在我的情况下,身体也是零... http://stackoverflow.com/questions/20774692/afnetworking-multipart-request-body-is-nil – user1071309