gpt4 book ai didi

swift - 在命令行工具上使用 Swift URLSession 示例代码

转载 作者:行者123 更新时间:2023-11-28 10:50:29 25 4
gpt4 key购买 nike

我正在尝试找出从命令行在 Swift 4 中发出 HTTP 请求的最简单 方法。我从 URLSession programming guide 复制了这段代码, 并添加了几个打印语句。我不明白为什么 .dataTask 没有执行。

print("Testing URLSession")
let sessionWithoutADelegate = URLSession(configuration: URLSessionConfiguration.default)
if let url = URL(string: "https://www.example.com/") {
print("Encoded url \(url)")
(sessionWithoutADelegate.dataTask(with: url) { (data, response, error) in
print("Executing dataTask")
if let error = error {
print("Error: \(error)")
} else if let response = response,
let data = data,
let string = String(data: data, encoding: .utf8) {
print("Response: \(response)")
print("DATA:\n\(string)\nEND DATA\n")
}
}).resume()
}

目标是从 REST api 检索数据,但我什至不能发出一个简单的 GET 请求来正常工作...

最佳答案

我终于想出了如何使用 CFRunLoop 让它工作:

let runLoop = CFRunLoopGetCurrent()
let task = session.dataTask(with: request) { (data, response, error) in
print("Retrieved data")
CFRunLoopStop(runLoop)
}
task.resume()
CFRunLoopRun()
print("done")

关于swift - 在命令行工具上使用 Swift URLSession 示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46329494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com