【问题标题】:NSData contentsOfURL constructor returns nilNSData contentsOfURL 构造函数返回 nil
【发布时间】:2014-09-20 02:49:37
【问题描述】:

我正在尝试访问我用 PHP 制作的 API。它在浏览器中运行良好,但我无法让此代码从任何给定网页获取任何类型的数据。

var jsonData: NSData = NSData(contentsOfURL: NSURL(string: "http://www.google.com"))
let string1 = NSString(data: jsonData, encoding: NSUTF8StringEncoding)
println(string1)

我在这里做错了什么?

更新:这是更改编码后的输出。

另外,当我这样做时,NSURLConnection 也不会启动。可能是相关问题。

【问题讨论】:

    标签: swift nsurl


    【解决方案1】:

    代码正确,但数据似乎不是 UTF 格式,因此无法生成 NSString。

    在 swift & objC 中失败

    因为服务器数据在NSISOLatin2StringEncoding

    它根据 HTTP 端点而有所不同,通常 UTF8 很好


        var jsonData: NSData = NSData(contentsOfURL: NSURL(string: "https://www.google.com"))
        let string1 = NSString(data: jsonData, encoding: NSISOLatin1StringEncoding)
        println(string1)
    

    显示页面的源代码

    【讨论】:

    • 错误消失了,但它会打印一个包含我尝试的所有 URL 的空行。
    • 我刚刚复制并粘贴了该代码。我没有任何输出,只有一个空行。我添加了控制台框的屏幕截图。也许是 Xcode 问题?即使是全新安装。
    • 啊,对我来说它是 ISOLatin -- 编码对你来说可能再次不同 -- 根据你所在的地区 --> google 做了很多转发。
    • 使用您控制/您知道编码的 api;)
    • 是的,我正在尝试使用我制作的一个直接 PHP 页面,其中 echos ASCII 兼容字符。我也试过其他人的。
    猜你喜欢
    • 2015-12-10
    • 2016-10-19
    • 2016-02-15
    • 2016-01-24
    • 1970-01-01
    • 2014-07-25
    • 2016-01-12
    • 1970-01-01
    相关资源
    最近更新 更多