简体   繁体   English

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

[英]How to add headers parameters (-H,-u,-X, -d) in POST request of Alamofire Swift

Below is my curl command which I send via Mac terminal and works well.下面是我通过 Mac 终端发送的 curl 命令,运行良好。 I need to send it via iOS swift.我需要通过 iOS swift 发送它。 I am using Alamofire.我正在使用 Alamofire。 How can I add these header, user, and data (-H,-u,-X and -d) in Alamofire POST request.如何在 Alamofire POST 请求中添加这些标头、用户和数据(-H、-u、-X 和 -d)。

I saw this thread but it is only to add (-H) headers.我看到了这个线程,但它只是添加 (-H) 标头。 I also need to send -u (user) and -d (data) in POST request.我还需要在 POST 请求中发送 -u(用户)和 -d(数据)。 Please someone help.请有人帮忙。

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",        
    },
}'

I found with hit and tries :) .It worked for me.我发现并尝试了 :) 。它对我有用。

       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

            }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM