我有一个字符串:<api address>/<parameters>%3Ffmt=json
当我从字符串创建NSURL对象时,URL为:?
但是,当我使用此URL发送请求时(使用NSURLSession),它会被拒绝访问,因为API需要%3F
并且不接受?
。如何解码URL以使let urlRequestString = "<api url>?fmt=json&api_key=" + <key>
let apiRequestURL = NSURL(fileURLWithPath: urlRequestString)
返回,以便API接受请求?
更新
NSURL构建
{{1}}
答案 0 :(得分:0)
您使用了错误的初始化程序,这会导致虚假结果。 NSURL(fileURLWithPath: urlRequestString)
用于创建file://
个网址。它将您的URL转换为适合文件系统的格式。它仅供文件使用,因此您不应在此处使用它。
如果您将初始化程序更改为NSURL(string: urlRequestString)
,那么您的网址应该没问题。