swift – 如何使用Alamofire与POST请求的自定义标头

swift – 如何使用Alamofire与POST请求的自定义标头,第1张

概述我用Alamofire实现了一个自定义头文件的POST请求,因为我们使用OAuth2,并且我们必须在头部内的每个请求中发送访问令牌。在这种情况下,我必须使用自定义标题。 HTTP头字段授权的访问令牌值对我来说不起作用。由于具有访问令牌的OAuth的头信息不可用,服务器会生成错误。 但是我的代码有什么错误? 这是我现在的代码: let URL = NSURL(string: url + "/ser 我用Alamofire实现了一个自定义头文件的POST请求,因为我们使用OAuth2,并且我们必须在头部内的每个请求中发送访问令牌。在这种情况下,我必须使用自定义标题。

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&gt,参数:[String:AnyObject]?enCoding:ParameterEnCoding)

您可以看到,您不必通过NSURL,只是URL的字符串,Alamofire负责其余的。

总结

以上是内存溢出为你收集整理的swift – 如何使用Alamofire与POST请求的自定义标头全部内容,希望文章能够帮你解决swift – 如何使用Alamofire与POST请求的自定义标头所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1054626.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存