【问题标题】:Alamofire 4 - Swift 3 - Credentials and self signed CertificateAlamofire 4 - Swift 3 - 凭证和自签名证书
【发布时间】:2016-10-08 09:21:04
【问题描述】:

我正在使用 Alamofire 并尝试从我的服务器获取 JSON 提要。服务器有一个自签名证书和通过用户和密码访问。

这是我的代码

 let user = "user"
    let password = "password"

    let url1 = "https://10.0.1.2:4711/fhem/?cmd=jsonlist2&XHR=1"
    let credential = URLCredential(user: user, password: password, persistence: .forSession)

    let serverTrustPolicies :[String: ServerTrustPolicy] = [
    "10.0.1.8": .disableEvaluation
    ]


    let AlamoSession = SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
    AlamoSession.request(url1 )
        .authenticate(usingCredential: credential)
        .responseJSON { response in
            debugPrint(response.response)
            print("Result value \(response.result.value)")
            //print (response.result.value?.valueForKey("status"))
    }

但它不起作用!

我该怎么做?

通过自签名证书在 https 网址上发出获取请求??

在我的应用程序的 info.plist 中,我添加了 应用传输安全设置 - 允许任意加载 - 是

【问题讨论】:

    标签: certificate alamofire credentials


    【解决方案1】:

    我使用此代码忽略了 SSL 错误。

    import Alamofire
    
    struct WebAPI {
        static let sessionManager: SessionManager = {
            switch MyEnvironment.server {
            case .development:
                return Alamofire.SessionManager(
                    serverTrustPolicyManager: ServerTrustPolicyManagerForDevelop()
                )
            case .staging, .production:
                return Alamofire.SessionManager()
            }
        }()
    
        private class ServerTrustPolicyManagerForDevelop: ServerTrustPolicyManager {
    
            init() {
                super.init(policies: [:])
            }
    
            override func serverTrustPolicy(forHost host: String) -> ServerTrustPolicy? {
                return .disableEvaluation
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-09
      • 1970-01-01
      • 2017-12-06
      • 2020-08-22
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多