
http头字段授权的访问令牌值对我来说不起作用。由于具有访问令牌的OAuth的头信息不可用,服务器会生成错误。
但是我的代码有什么错误?
这是我现在的代码:
let URL = NSURL(string: url + "/server/rest/action")var mutableURLRequest = NSMutableURLRequest(URL: URL!)mutableURLRequest.setValue("Bearer \(accesstoken)",forhttpheaderFIEld: "Authorization")//this method does not work anymore because it returns an error in the response//Alamofire.Manager.sharedInstance.session.configuration.httpAdditionalheaders = ["Authorization": "Bearer \(accesstoken)"]Alamofire.Manager.sharedInstance .request(.POST,mutableURLRequest,parameters: parameters,enCoding: .JsON) .valIDate() .responseJsON { (request,response,data,error) -> VoID in NSLog("REQUEST: \(request)") NSLog("RESPONSE: \(response)") NSLog("DATA: \(data)") NSLog("ERROR: \(error)") } 以下是使用自定义标头的示例: var manager = Manager.sharedInstance // Specifying the headers we need manager.session.configuration.httpAdditionalheaders = [ "Content-Type": "application/x-www-form-urlencoded","Accept": "application/vnd.lichess.v1+Json","X-Requested-With": "XMLhttpRequest","User-Agent": "iMchess" ]
现在每当您发出请求时,它将使用指定的标题。
您的代码重构:
记得要进口Alamofire
let aManager = Manager.sharedInstance manager.session.configuration.httpAdditionalheaders = [ "Authorization": "Bearer \(accesstoken)" ] let URL = url + "/server/rest/action" request(.POST,URL,enCoding: .JsON) .responseJsON { (request,error) -> VoID in println("REQUEST: \(request)") println("RESPONSE: \(response)") println("DATA: \(data)") println("ERROR: \(error)") } 这是请求签名请求(方法:方法,URLString:URLStringConvertible>,参数:[String:AnyObject]?enCoding:ParameterEnCoding)
您可以看到,您不必通过NSURL,只是URL的字符串,Alamofire负责其余的。
总结以上是内存溢出为你收集整理的swift – 如何使用Alamofire与POST请求的自定义标头全部内容,希望文章能够帮你解决swift – 如何使用Alamofire与POST请求的自定义标头所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)