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"];
複製代碼
相關文章
相關標籤/搜索