如何只允许Swift iOS14中不安全的LAN请求

问题描述

我一直在搜索互联网,但仍然找不到答案。

我的应用程序与家庭中的其他智能家居产品对话。例如,它可以通过POST请求向Philips Hue Bridge发出控制灯光的请求。我网桥的IP为192.168.0.12。我正在对此端点发出POST请求,但是由于连接不安全,因此不允许这样做。

由于我通过安全的域连接到我自己的服务器,因此我仍然想保留到域的外部连接的安全设置。所以我只想允许通过本地IP地址的本地连接不安全。

我已经尝试过了:

enter image description here

但是它不起作用。我什至尝试使用Allow Arbitrary Loads只是为了进行测试,以查看它是否可以工作,仍然不能。

我的API调用

func getPhilipsHueUsername(completion: @escaping (String?,Error?) -> Void){
    var bridgeIP = UserDefaults.standard.string(forKey: "bridgeIP")
    let url = "http://" + bridgeIP! + "/api"
    var request = URLRequest(url: URL(string: url)!)
    request.httpMethod = HTTPMethod.post.rawValue
    let body = [
        "devicetype": "test"
    ]
    do {
        let dataToS = try JSONSerialization.data(withJSONObject: body,options: .fragmentsAllowed)
        request.httpBody = dataToS
    }catch{
        print("Error creating data object")
        return
    }
    AF.request(request).responseJSON { (response) in
        switch response.result {
        case .success(let value):
            print(value)
            if(response != nil){
                let json = JSON(value)
                print(value)
            }
            return completion("",nil)
        case .failure(let error):
            return completion(nil,error)
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)