您的位置:首页 > 理论基础 > 计算机网络

AFNetWorking 3.0 的基本用法

2016-03-23 18:08 676 查看
一 Get请求

AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];
[manager setResponseSerializer:[AFHTTPResponseSerializer serializer]];
[manager GET:@"" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

}];

二 Post请求

NSDictionary *parameters=[NSDictionary dictionaryWithObjectsAndKeys:parameter,@"key",nil];
AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];
[manager setResponseSerializer:[AFHTTPResponseSerializer serializer]];
[manager POST:@"" parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

}];


三 Post方式上传带参数的图片

NSDictionary *parameters=[NSDictionary dictionaryWithObjectsAndKeys:parameter,@"key", nil];

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager setResponseSerializer:[AFHTTPResponseSerializer serializer]];
[manager POST:@"" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {

[formData appendPartWithFileURL:[NSURL fileURLWithPath:imagePath] name:@"图片对应的参数" fileName:@"" mimeType:@"image/jpeg" error:nil];
} progress:^(NSProgress * _Nonnull uploadProgress) {

} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {

} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

}];

另外:可以在AFHTTPSessionManager类中初始化的时候设置BaseURL 会自动拼接

NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"];
    [NSURL URLWithString:@"foo" relativeToURL:baseURL];                  //
http://example.com/v1/foo
    [NSURL URLWithString:@"foo?bar=baz" relativeToURL:baseURL];          //
http://example.com/v1/foo?bar=baz
    [NSURL URLWithString:@"/foo" relativeToURL:baseURL];                 //
http://example.com/foo
    [NSURL URLWithString:@"foo/" relativeToURL:baseURL];                 //
http://example.com/v1/foo
    [NSURL URLWithString:@"/foo/" relativeToURL:baseURL];                //
http://example.com/foo/
    [NSURL URLWithString:@"http://example2.com/" relativeToURL:baseURL]; //
http://example2.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息