AFNetWorking 3.0 的基本用法

本文详细介绍了使用AFNetworking库进行网络请求的方法,包括GET和POST请求的实现,并展示了如何通过POST方式上传带参数的图片。此外,还讲解了如何设置AFHTTPSessionManager的基础URL来自动完成URL拼接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值