阅读 17

iOS 中的HTTP Basic Auth 认证

因为项目中需要用到一个转换文件格式的API,使用的是Basic Auth方式验证,所以研究了一下关于 iOS 开发中的Basic Auth认证的内容,使用起来还是挺简单的。

第一种 AFNetworking 中的 Basic Auth 验证

这里使用的版本是 AFNetworing3.0

使用的代码如下

AFHTTPSessionManager *afManager = [AFHTTPSessionManager manager];
afManager.requestSerializer = [AFHTTPRequestSerializer serializer];
afManager.responseSerializer = [AFJSONResponseSerializer serializer];

// 此处是设置Basic Auth验证方式
[afManager.requestSerializer setAuthorizationHeaderFieldWithUsername:yourUserName password:yourPassword];

[afManager GET:url parameters:param progress:^(NSProgress * _Nonnull downloadProgress) {
    
} success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    
}];
复制代码

第二种 原生iOS网络请求中的 Basic Auth 验证

下面的代码是 iOS 下载文件的代码的一部分

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

// 以下是开始设置Basic Auth验证
NSString *authStr = [NSString stringWithFormat:@"%@:%@", yourUserName, yourPassWord];
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [authData base64EncodedStringWithOptions:0]];
[request setValue:authValue forHTTPHeaderField:@"Authorization"];
复制代码
关注下面的标签,发现更多相似文章
评论