无法从 swift 中的 NSURL 获取响应

Not Able to fetch response from NSURL in swift

我使用 uisng swift 从 url 获取响应,如下所示 http://api.remix.bestbuy.com/v1/categories%28id%3Dpcmcat312300050015%29?apiKey=gj4x2wbttmj3t4tj2ca4dkgu"

基础 url 直到 v1 在基础 url 中,我需要附加类别或产品或商店。 附加此后,我需要像这样发送类别 ID (id = cat00000)。 然后需要追加问号和apikey。

我可以做出 url 这可能是不正确的 var baseUrl: String = "http://api.remix.bestbuy.com/v1/categories" var categoryIdString:String = BestBuyConstants.topCategory var apiString:String = BestBuyConstants.Key

    var urlString: String = "\(baseUrl)" + "\(categoryIdString)"
    println("urlString: \(urlString)")

    let parameterString:String = "gj4x2wbttmj3t4tj2ca4dkgu"
    var url: String = "\(urlString)?apiKey=\(parameterString)"

    var finalURL: NSURL = NSURL(string:url)!
    let request = NSMutableURLRequest(URL: finalURL)

然而,当我附加类别时,出现致命错误 请指出我做错的地方和一些技术文档。

您的 URL 中有方括号 () 您还没有添加它:

var baseUrl: String = "http://api.remix.bestbuy.com/v1/categories"
var categoryIdString:String =  "Dpcmcat312300050015"

var urlString: String = "\(baseUrl)" + "(id%3\(categoryIdString))"
println("urlString: \(urlString)")

let parameterString:String = "gj4x2wbttmj3t4tj2ca4dkgu"
var url: String = "\(urlString)?apiKey=\(parameterString)"

println(url)

var finalURL: NSURL = NSURL(string:url)!
let request = NSMutableURLRequest(URL: finalURL)

我在"(id%3\(categoryIdString))"这一点改了

http://api.remix.bestbuy.com/v1/categories%28id%3Dpcmcat312300050015%29?apiKey=gj4x2wbttmj3t4tj2ca4dkgu

因为检查这个 link 如果你 运行 它在浏览器中你会发现 (%3)

请参阅此 link 了解 HTML 中的其他编码:https://grox.net/utils/encoding.html

希望对你有用。