• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何在 AFNetworking 中设置授权 header

[复制链接]
菜鸟教程小白 发表于 2022-12-12 10:22:17 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我试图通过子类化 AFHTTPClient 并设置基本路径来实现 AFNetworking 客户端

#define BaseURLString @"http://company.com/api/"

@implementation WineAPIClient

+(id)sharedInstance{
  static APIClient *__sharedInstance;
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
    __sharedInstance = [APIClient alloc]initWithBaseURL:[NSURL URLWithString:BaseURLString]];
});
return __sharedInstance;
}

- (id)initWithBaseURLNSURL *)url
{
 self = [super initWithBaseURL:url];
if(self){
    [self setParameterEncoding:AFJSONParameterEncoding];
    [self registerHTTPOperationClass:[AFJSONRequestOperation class]];
}

return self;
}

@end

这就是我向服务器发出请求的方式:

[[APIClient sharedInstance] getPath"wines"
                               parameters:nil
                               success:^(AFHTTPRequestOperation *operation, id responseObject) {
                                        NSLog(@"%@", responseObject);

                               }
                               failure:^(AFHTTPRequestOperation *operation, NSError *error) {
                                        NSLog(@"Error fetching wines!");
                                        NSLog(@"%@",error);
                               }];

现在我有一个名为 LoginViewController 的类,它获取我登录的 token 号。

现在我的问题是如何在我的 AFHttpClinet 类中将 token 设置为授权 header 。

并使用 Authorization header 发出其他请求。

谁能帮我解决这个问题?



Best Answer-推荐答案


您可以使用 AFNetworking 的方法 setAuthorizationHeaderWithUsername:password:

+(id)sharedInstance{
  static APIClient *__sharedInstance;
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
  __sharedInstance = [APIClient alloc]initWithBaseURL:[NSURL URLWithString:BaseURLString]];
  [__sharedInstance setAuthorizationHeaderWithUsername"username" password"password"];
  });
  return __sharedInstance;
}

+(id)sharedInstance{
  static APIClient *__sharedInstance;
  static dispatch_once_t onceToken;
  dispatch_once(&onceToken, ^{
  __sharedInstance = [APIClient alloc]initWithBaseURL:[NSURL URLWithString:BaseURLString]];
  });
  return __sharedInstance;
}

- (void)updateAuthorizationHeaderUsernameNSString *)username PasswordNSString *)password
{
    [self setAuthorizationHeaderWithUsername:username password:password];
}

- (void)updateAuthorizationHeaderNSString *)token
{
    [self setDefaultHeader"token" value:token];
}

关于ios - 如何在 AFNetworking 中设置授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24160766/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap