【发布时间】:2021-07-23 11:56:30
【问题描述】:
您好,我正在尝试将 https://goo.gl/maps/MoaZNS825rpixfKu5 之类的短 URL 转换为其原始 URL https://www.google.com/maps/place/WhirlyBall+Twin+Cities/@44.8508658,-93.2389179,17z/data=!3m1!4b1!4m5!3m4!1s0x87f62f7bd688277b:0xc0ec9f7b1ccd0da8!8m2!3d44.8510743!4d-93.2366811?hl=en-US
我在类似的旧帖子中找到了一些解决方案,但它们不适用于 Xcode 12.4
我尝试使用下面的代码,但是当我尝试打印扩展 URL 时它没有返回任何值
let shortURL = "https://goo.gl/maps/MoaZNS825rpixfKu5"
func performRequest(urlString: String){
let urlString = shortURL
let url = URL(string: urlString)!
var urlRequest = URLRequest(url: url)
urlRequest.httpMethod = "HEAD"
URLSession.shared.dataTask(with: urlRequest) { (data, urlResponse, error) in
let expandedURL = urlResponse?.url?.absoluteString
print("expandedURL HEAD: \(expandedURL ?? "Oops, not URL")")
}
.resume()
}
【问题讨论】:
-
"我在类似的旧帖子中找到了一些解决方案,但它们不适用于 Xcode 12.4" 怎么样? HEAD 请求似乎有效(快速测试):见stackoverflow.com/a/49647732/1801544 ?
-
“不适用于 Xcode 12.4”。不工作怎么办?
-
我用我尝试使用的代码更新了问题
-
我在 Playground 中找到了它。你如何测试它?你知道
dataTask((with:handler:)是异步的,对吧?