Alamofire with a self-signed certificate / ServerTrustPolicy

前端 未结 4 1228
说谎
说谎 2020-12-03 05:13

I want to use Alamofire to communicate with my server over a https connection with a self signed certificate. My environment runs on localhost. I\'ve tried to connect, but t

4条回答
  •  旧巷少年郎
    2020-12-03 05:34

    For swift 4:

    private static var Manager : Alamofire.SessionManager = {
        // Create the server trust policies
        let serverTrustPolicies: [String: ServerTrustPolicy] = [
            "your domain goes here": .disableEvaluation
        ]
        // Create custom manager
        let configuration = URLSessionConfiguration.default
        configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
        let man = Alamofire.SessionManager(
            configuration: URLSessionConfiguration.default,
            serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
        )
        return man
    }()
    

    Then you call it like this:

    Manager.upload(body.data(using: .utf8)!, to: url, method: .post, headers: headers)
    

    Credits to Cnoon

提交回复
热议问题