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

时间:2015-11-26 11:12:27

标签: ios swift http curl alamofire

下面是我通过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",        
    },
}'

1 个答案:

答案 0 :(得分:-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

            }
    }