使用 Swift 获取网站数据
·
问题:使用 Swift 获取网站数据
我正在尝试使用NSURLSession
从 espn 中提取一些数据,但我似乎无法让它工作。它只打印nil
。
我已经在他们网站上的另一个页面上测试了这个方法并且它有效,但我无法让它与代码中的那个一起工作。这是有问题的代码:
var url = NSURL(string: "http://espn.go.com/golf/leaderboard?tournamentId=2271")
if url != nil {
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
print(data)
if error == nil {
var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as NSString!
print(urlContent)
我也尝试过更改也不起作用的编码类型。它打印的数据看起来像是 UTF 8 格式,所以我认为这行不通,但我觉得我应该尝试一下。
我觉得我已经没有工作的想法了。
编辑: 应该指定更多,print(data)
打印出我预期的编码数据,但print(urlContent)
打印nil
。
解答
这是有效的完整示例
var url = NSURL(string: "http://espn.go.com/golf/leaderboard?tournamentId=2271")
if url != nil {
let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) -> Void in
print(data)
if error == nil {
var urlContent = NSString(data: data, encoding: NSASCIIStringEncoding) as NSString!
print(urlContent)
}
})
task.resume()
}
看起来这里正确的编码是NSASCIIStringEncoding
notNSUTF8StringEncoding
。
更多推荐
所有评论(0)