iOS 中的HTTP Basic Auth 认证

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

第一种 AFNetworking 中的 Basic Auth 验证

这里使用的版本是 AFNetworing3.0网络

使用的代码以下app

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 下载文件的代码的一部分ui

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"];
复制代码
相关文章
相关标签/搜索