如何将我的卷曲转换为Objective-C

时间:2016-01-27 11:30:17

标签: objective-c url curl

我正在研究Objective-C语言,我需要从Objective-C中解雇curl。

我的卷毛是:

curl https://api.start.payfort.com/tokens/ \
    -u test_open_k_91ffe6d8f9efe14fcc91: \
    -d "number=4242424242424242" \
    -d "exp_month=11" \
    -d "exp_year=2016" \
    -d "cvc=123" \
    -d "name=sapana"

请帮助我如何在Objective-C和fire url中转换此网址。

我尝试了其他方式,但他们返回的反应如下:

{
    error =     {
        code = "not_found";
        extras =         {
            "request_id" = "f8e70bf6-9391-49b0-9403-06cc9485c021";
            time = "2016-01-27T11:10:31Z";
        };
        message = "Not Found";
        type = processing;
    };
}

1 个答案:

答案 0 :(得分:1)

这对我有用。但是很快

func cardSendToPayFort(number:String, exp_month:String, exp_year:String, cvc:String, name:String, completion: ((success: Bool, json: NSDictionary?) -> Void))
{

   let username = "test_open_k_91ffe6d8f9efe14fcc91"
   let password = ""
   let loginString = NSString(format: "%@:%@", username, password)
   let loginData: NSData = loginString.dataUsingEncoding(NSUTF8StringEncoding)!
   let base64LoginString = loginData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)

   let orderURL = NSURL(string: "https://api.start.payfort.com/tokens/")
   let request = NSMutableURLRequest(URL: orderURL!)

   request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")

   let postString = "number=\(number)&exp_month=\(exp_month)&exp_year=\(exp_year)&cvc=\(cvc)&name=\(name)"
   //let postString = "number=4242424242424242&exp_month=11&exp_year=2016&cvc=123&name=sapana"

   request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
   request.HTTPMethod = "POST"

   let session = NSURLSession.sharedSession()

   let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in

       if let httpStatus = response as? NSHTTPURLResponse where httpStatus.statusCode != 201 {
           print("statusCode should be 201, but is \(httpStatus.statusCode)")
           print("response = \(response)")

           dispatch_async(dispatch_get_main_queue()){
               completion(success: false, json: nil)
           }

       } else {
           let responseString = String(data: data!, encoding: NSUTF8StringEncoding)

           let jsonData = responseString?.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
           let json = try! NSJSONSerialization.JSONObjectWithData(jsonData!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary

           dispatch_async(dispatch_get_main_queue()){
                completion(success: true, json: json)
           }
       }

   }
   task.resume()
 }