在iOS上的SWIFT中从短URL获取完整URL

Get full URL from short URL in Swift on iOS(在iOS上的SWIFT中从短URL获取完整URL)

本文介绍了在iOS上的SWIFT中从短URL获取完整URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定一个简短的URLhttps://itun.es/us/JB7h_,如何将其展开为完整的URL?例如https://music.apple.com/us/album/blackstar/1059043043

推荐答案

扩展

   extension URL {
    func getExpandedURL() async -> URL? {
        var request = URLRequest(url: self)
        request.httpMethod = "HEAD"
        let data = try? await URLSession.shared.data(for: request)
        return data?.1.url
    }
}

示例

struct ContentView: View {
    let shortURL = URL(string: "https://itun.es/us/JB7h_")
    @State var expandedURL: URL?
    
    var body: some View {
        Form {
            Section("Short URL") {
                Text(shortURL?.description ?? "")
            }
            
            Section("Long URL") {
                Text(expandedURL?.description ?? "")
            }
        }
        
        .task {
            expandedURL = await shortURL?.getExpandedURL()
        }
    }
    
}

这篇关于在iOS上的SWIFT中从短URL获取完整URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在iOS上的SWIFT中从短URL获取完整URL