如何解码 Swift 中 NSURL 中的特殊字符?
How to decode special characters in an NSURL in Swift?
我有一个字符串:<api address>/<parameters>?fmt=json
当我从字符串创建一个 NSURL 对象时,URL 是:<api address>/<parameters>%3Ffmt=json
当我用这个 URL 发送请求时(使用 NSURLSession),但是,它被拒绝访问,因为 API 想要 ?
并且不接受 %3F
。如何将 URL 解码为 ?
return,以便 API 接受请求?
更新
NSURL施工
let urlRequestString = "<api url>?fmt=json&api_key=" + <key>
let apiRequestURL = NSURL(fileURLWithPath: urlRequestString)
您使用了错误的初始值设定项,这导致了错误的结果。 NSURL(fileURLWithPath: urlRequestString)
用于创建 file://
URL。它将您的 URL 转换为适合文件系统的格式。它专为文件使用而设计,因此您不应在此处使用它。
如果您将初始值设定项更改为 NSURL(string: urlRequestString)
,那么您的 URL 应该没问题。
我有一个字符串:<api address>/<parameters>?fmt=json
当我从字符串创建一个 NSURL 对象时,URL 是:<api address>/<parameters>%3Ffmt=json
当我用这个 URL 发送请求时(使用 NSURLSession),但是,它被拒绝访问,因为 API 想要 ?
并且不接受 %3F
。如何将 URL 解码为 ?
return,以便 API 接受请求?
更新
NSURL施工
let urlRequestString = "<api url>?fmt=json&api_key=" + <key>
let apiRequestURL = NSURL(fileURLWithPath: urlRequestString)
您使用了错误的初始值设定项,这导致了错误的结果。 NSURL(fileURLWithPath: urlRequestString)
用于创建 file://
URL。它将您的 URL 转换为适合文件系统的格式。它专为文件使用而设计,因此您不应在此处使用它。
如果您将初始值设定项更改为 NSURL(string: urlRequestString)
,那么您的 URL 应该没问题。