我正在尝试从一个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)
并在控制台中打印以下错误:
Error Domain=NSCocoaErrorDomain Code=261“无法使用文本编码Unicode(UTF-8)打开文件。”用户信息={NSURL= https://www.google.com,NSStringEncoding=4}
你知道吗?
3条答案
按热度按时间jjjwad0x1#
看起来www.google.com使用ISO 8859-1 encoding发送响应,对应的
NSString
编码为NSISOLatin1StringEncoding
:您还可以自动检测HTTP响应编码,例如,请参见https://stackoverflow.com/a/32051684/1187415。
y0u0uwnf2#
Swift 3解决方案:
azpvetkf3#
Swift 5解决方案: