【问题标题】:Not Able to fetch response from NSURL in swift无法快速从 NSURL 获取响应
【发布时间】:2015-10-17 06:37:23
【问题描述】:

我可以快速从一个看起来像这样的 url 获取响应 http://api.remix.bestbuy.com/v1/categories%28id%3Dpcmcat312300050015%29?apiKey=gj4x2wbttmj3t4tj2ca4dkgu"

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

我可以制作可能不正确的网址 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)

但是,当我附加类别时,我得到了致命错误 请提出我做错的地方和一些技术文档。

【问题讨论】:

  • @Ashish 非常感谢,它有帮助。但是你能建议我们为什么使用 id%3。我们是否需要使用 stringByAddingPercentEncodingForURLQueryValue() 和 stringByAddingPercentEncodingWithAllowedCharacters() 函数在 url 中进行这种类型的使用
  • 查看答案@Richa

标签: ios swift nsurl


【解决方案1】:

您的 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

因为如果您在浏览器中运行它,请检查此链接,您会找到(%3)

查看此链接以了解 HTML 中的其他编码:https://grox.net/utils/encoding.html

希望它对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    相关资源
    最近更新 更多