带有 åäö(特殊字符)的 Alamofire GET 请求无效 url

Alamofire GET request with åäö (special characters), invalid url

我正在尝试使用 alamofire 发送一个 API get 请求,但是当我使用以下 url: https://stuntmans.evosale.se/admin/api/dräkt 时,“dräkt”中的特殊字符返回一个无效 url 作为响应。我将如何在 alamofire 中使用特殊字符?

提前致谢!

这是部分代码:

let headers: HTTPHeaders = [
            .authorization(username: "Username", password: "Password"),
            .accept("application/json")]

        AF.request(https://stuntmans.evosale.se/admin/api/dräkt, headers: headers).validate().responseJSON { response in

您可以将 URL 编码为 URLComponents

var components = URLComponents(string: "https://stuntmans.evosale.se")!
components.path = "/admin/api/dräkt"
guard let url = components.url else { return }

AF.request(url, headers: headers).validate().responseJSON { response in

通过将字符“åäö”替换为它们应该在 url 中表示的相应字符来解决此问题,下面是代码:

var result = Url
        zip(["å", "ä", "ö"],["%C3%A5", "%C3%A4", "%C3%B6"]).forEach {
            result = result.replacingOccurrences(of: [=10=], with: , options: .literal)
        }

print (result) // the result