代码之家  ›  专栏  ›  技术社区  ›  reza_khalafi

Alamoire:已完成,但有错误-代码:-1001

  •  3
  • reza_khalafi  · 技术社区  · 6 年前

    像这样的代码:

    import Foundation
    import Alamofire
    struct Request {
    var alamoFireManager : SessionManager?
    init() {
        let configuration = URLSessionConfiguration.default
                configuration.timeoutIntervalForRequest = 20
        configuration.requestCachePolicy = .useProtocolCachePolicy
                alamoFireManager = Alamofire.SessionManager(configuration: configuration)
    }
    
    func sendRequest() {
    
        alamoFireManager?.request(url,method: method, parameters: body, encoding: JSONEncoding.default,headers: headers).responseJSON { response in
    
        }
    }
    }
    
    3 回复  |  直到 6 年前
        1
  •  2
  •   Nikunj Kumbhani    6 年前

    我已经完成了,它正在工作(Swift 4代码)。

    import UIKit
    import Alamofire
    
    class SplashViewController: UIViewController {
    
        var alamoFireManager = Alamofire.SessionManager.default
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            self.callPostApi()
    
        }
    
        func callPostApi() {
    
            let configuration = URLSessionConfiguration.default
            configuration.timeoutIntervalForRequest = 20 // seconds
            configuration.timeoutIntervalForResource = 20
            configuration.requestCachePolicy = .useProtocolCachePolicy
            alamoFireManager = Alamofire.SessionManager(configuration: configuration)
    
            alamoFireManager.request(url, method: .post, parameters: ["jsondata":base64EncodedString])
                .responseJSON { response in
    
                    switch (response.result) {
                    case .success:
    
                        print(response.data as? Data)
    
                        if let json = response.result.value {
                            print("JSON: \(json)") // Here is your JSON Response
                        }
                        //do json stuff
    
                    case .failure(let error):
    
                        if error._code == NSURLErrorTimedOut || error._code == -1005{
                            //HANDLE TIMEOUT HERE
                            print("TimeOut")
                        }
                        print("\n\nAuth request failed with error:\n \(error)")
                        break
                   }
            }
    
        }
    
    }
    
        2
  •  0
  •   reza_khalafi    6 年前

    SessionManager 不适合我。最好在 阿拉莫 :

    let request = URLRequest(url: url)
    request.httpMethod = "GET"
    //Some configuration
    
    
    Alamofire.request(request).responseJSON {
                    response in
    
    }
    
        3
  •  0
  •   Julian Corrêa    6 年前

    这是一个超时错误。只要增加超时值,或者尽可能提高API的性能。