如何在 Alamofire Swift 的 POST 请求中添加标头参数(-H、-u、-X、-d)

Posted

技术标签:

【中文标题】如何在 Alamofire Swift 的 POST 请求中添加标头参数(-H、-u、-X、-d)【英文标题】:How to add headers parameters (-H,-u,-X, -d) in POST request of Alamofire Swift 【发布时间】:2015-11-26 11:12:27 【问题描述】:

下面是我通过 Mac 终端发送的 curl 命令并且运行良好。我需要通过 ios swift 发送它。我正在使用 Alamofire。如何在 Alamofire POST 请求中添加这些标头、用户和数据(-H、-u、-X 和 -d)。

我看到this 线程,但它只是添加(-H)标题。我还需要在 POST 请求中发送 -u (用户)和 -d (数据)。请有人帮忙。

curl -H "Accept: application/vnd.conekta-v1.0.0+json" \
 -H "Content-type: application/json" \
 -u key_SOME_API_KEY: \
 -X POST -d '
  "description":"Stogies",
  "amount": 50000,
  "currency":"USD",
  "details": 
    "name": "Arnulfo Quimare",        
    ,
'

【问题讨论】:

那答案***.com/a/28526915/179843有什么问题? 我也无法使用 -u key_SOME_API_KEY: \。但它不是标题对吗? 【参考方案1】:

我找到了命中并尝试:)。它对我有用。

       let key = "API_Key"
    let loginString = NSString(format: "%@", key)
    let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
    let base64LoginString = loginData.base64EncodedStringWithOptions(nil)


    manager.session.configuration.HTTPAdditionalHeaders =
    [
        "Accept": "application/vnd.conekta-v1.0.0+json",
        "Content-type": "application/json",
        "Authorization" : "Basic \(base64LoginString)"
    ]

    let param = [
        "description":"Stogies",
        "amount": 50000,
        "currency":"USD",
        "details": [
            "name": "Arnulfo Quimare",
        ],
    ]

    manager.request(.POST, "https://api.conekta.io/charges", parameters: param )//as? [String : AnyObject] )
        .responseJSON  (request, res, JSONDATA, error) in
            if (res?.statusCode == 200 ) // SUCCESS

            
            else if JSONDATA != nil  // SERVER ERROR

            
            else // NO RESPONSE

            
    

【讨论】:

以上是关于如何在 Alamofire Swift 的 POST 请求中添加标头参数(-H、-u、-X、-d)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 中在 alamofire 中打印错误 html?

如何在 Swift / Alamofire 中使用 multipartFormData?

Swift 4:如何使用 Alamofire 在参数中发布文件?

如何在 Swift 项目中添加 Alamofire

如何在 Alamofire 4 和 Swift 3 中设置方法、标题、参数

如何在swift中使用alamofire上传图库图片