Swift 不需要的 URL 百分比编码

Swift unwanted URL percent encoding

我正在尝试格式化 URL 以用于访问 API。 api 的文档指定了一个 URL,其中包含“[”和“]”字符。当我从 Swift 中的字符串创建 URL 时,它会添加百分比编码并将这些字符更改为“%5B”和“%5D”。

如何告诉 swift 不要对这些字符进行百分比编码?谢谢!

func attemptPubgIDLookup (playerName: String, completion: @escaping (String) -> Void) {
let region = "pc-na"
let urlString = "https://api.playbattlegrounds.com/shards/" + region + "/players?filter[playerNames]=" + playerName
let finalUrl = URL(string:urlString)
if let finalUrl = finalUrl {

    var urlRequest = URLRequest(url: finalUrl)
    urlRequest.httpMethod = HTTPMethod.get.rawValue

    urlRequest.addValue(pubgApiKey, forHTTPHeaderField: "Authorization: Bearer")
    urlRequest.addValue("application/vnd.api+json", forHTTPHeaderField: "Accept")

    Alamofire.request(urlRequest)
        .responseJSON(completionHandler: { (response) in
            debugPrint(response)
        })
}
}

这就是你想要的。当服务器收到您的请求时,它将解码 URL...

%5B is '[' and %5D is ']'

这称为 percent encoding,用于对 url 参数值中的特殊字符进行编码。