Swift从URL获取HTML

hkl*_*lel 1 html ios swift swift2

我正在尝试从URL获取并打印HTML。这是我的操作方法(使用Swift 2):

let testUrl = NSURL(string: "https://www.google.com")
var html = NSString()
do {
    html = try NSString(contentsOfURL: testUrl!, encoding: NSUTF8StringEncoding)
} catch{print(error)}
print(html)
Run Code Online (Sandbox Code Playgroud)

并在控制台中打印以下错误:

错误域= NSCocoaErrorDomain代码= 261“无法使用文本编码Unicode(UTF-8)打开文件。” UserInfo = {NSURL = https://www.google.com,NSStringEncoding = 4}

任何的想法?

Mar*_*n R 5

看来www.google.com使用ISO 8859-1编码发送响应 ,相应的NSString编码为NSISOLatin1StringEncoding

html = try NSString(contentsOfURL: testUrl!, encoding: NSISOLatin1StringEncoding)
Run Code Online (Sandbox Code Playgroud)

您还可以自动检测HTTP响应编码,例如,参见/sf/answers/2243617911/