swift – Alamofire相当于AFHTTPSessionManager
发布时间:2020-12-14 04:54:24 所属栏目:百科 来源:网络整理
导读:使用AFNetworking,我遵循了创建AFHTTPSessionManager的特定于应用程序的子类的建议模式.我看起来像这样: static NSString* Username = @"";static NSString* Password = @"";static NSString* BaseURL = @"https://abc.xyz.com:12345/";@implementation Htt
使用AFNetworking,我遵循了创建AFHTTPSessionManager的特定于应用程序的子类的建议模式.我看起来像这样:
static NSString* Username = @""; static NSString* Password = @""; static NSString* BaseURL = @"https://abc.xyz.com:12345/"; @implementation HttpConnection + (HttpConnection*) current { static HttpConnection* current = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken,^{ current = [[self alloc] initWithBaseURL: [NSURL URLWithString: BaseURL]]; current.securityPolicy.allowInvalidCertificates = YES; current.responseSerializer = [AFJSONResponseSerializer serializer]; current.requestSerializer = [AFJSONRequestSerializer serializer]; }); [current.requestSerializer setAuthorizationHeaderFieldWithUsername: Username password: Password]; return current; } 我很好奇我应该如何将这种模式转化为与Alamofire一起使用.它只是如下吗? static let BaseURL = "https://abc.xyz.com:12345/" static var User = "" static var Password = "" func myAppRequest((method: Method,URLString: URLStringConvertible,parameters: [String: AnyObject]? = nil,encoding: ParameterEncoding = .URL) -> Request { let request = Alamofire.request(method,BaseURL + URLString,parameters,encoding) request.authenticate(user: User,password: "Password) return request } 在Alamofire代码中窥视,我有一种预感,即可以在适当的时间操作Alamofire.Manager.sharedInstance(app启动时的baseURL,以及每次更改时的用户/密码).但是那个人如何做到这一点并不那么明显(如果确实可能的话). 解决方法
我正在使用Alamofire.Manager来处理所有请求.我就是这样做的.
//initialize with all details such as referrer etc self.manager = Alamofire.Manager(configuration: cfg) let user = "user" let password = "password" // you may manipulate configuration later on if you want. self.manager.session.configuration.HTTPAdditionalHeaders!["Referer"] = self.host self.manager.request(.GET,"https://httpbin.org/basic-auth/(user)/(password)") .authenticate(user: user,password: password) .responseJSON { (req,res,json,error) in if(error != nil) { NSLog("Error: (error)") failure(res,error) return } else { // do something with JSON } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |