【发布时间】:2026-02-17 15:30:01
【问题描述】:
我正在使用 Swift 3.0 构建一个应用程序,当用户单击 UIButton 时,我想打开一个 URL。
网址如下:“192.169.1.19/RELE-3”
所以,我正在构建这段代码:
func sendHttpRequest(endPoint : String){
let url = URL(string: endPoint)!
var request = URLRequest(url: url)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "GET"
/*let parameters: [String: Any] = [
"id": 13,
"name": "Jack & Jill"
]*/
//request.httpBody = parameters.percentEscaped().data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data,
let response = response as? HTTPURLResponse,
error == nil else { // check for fundamental networking error
print("error", error ?? "Unknown error")
return
}
guard (200 ... 299) ~= response.statusCode else { // check for http errors
print("statusCode should be 2xx, but is \(response.statusCode)")
print("response = \(response)")
return
}
let responseString = String(data: data, encoding: .utf8)
print("responseString = \(responseString)")
}
task.resume()
}
如果我尝试启动应用程序并调用此函数,我没有任何错误但页面没有被调用。
【问题讨论】:
-
可能是url有问题...检查一下
-
您需要在 info.plist 中启用 NSAppTransportSecurity 以支持不安全的 http 连接。
-
你说“我想打开一个 URL”和“我没有任何错误但页面没有被调用”。你想做什么?加载网页?如果是这样,那你就完全错了。您编写的代码将从 HTTP 网站读取数据,但不会在网页上显示该数据。为此,您需要使用其中一个 openURL 命令在 Safari 中调用 URL,或者您需要创建一个 Web 视图并告诉它打开您的 URL。
-
好的,伙计们,问题出在 URL 上。我已经修复它,现在我可以调用那个 URL,但是我不知道为什么但是方法 sendHttpRequest 被调用了两次,这不好
-
但这将是一个不同的问题。你已经简单地解决了这个问题,所以请删除它。