带有 åäö(特殊字符)的 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
我正在尝试使用 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