我的应用程序正在使用这样的NSURL:var url = NSURL(string: "http://www.geonames.org/search.html?q=Aïn+Béïda+Algeria&country=")当我尝试执行一个任务来从此NSURL获取数据时,如下所示: let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in if error == nil { var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) println("urlContent \(urlContent!)") } else { println("error mode") }但是当我尝试从该地址获取数据时出现错误,尽管当我使用野生动物园去链接时:“ http://www.geonames.org/search.html?q =Aïn+Béïda+ Algeria&country =”我可以看到数据。我该如何解决?
3 回答
心有法竹
TA贡献1866条经验 获得超5个赞
为什么URLFragmentAllowedCharacterSet
呢?还有URLHostAllowedCharacterSet
,URLPasswordAllowedCharacterSet
,URLPathAllowedCharacterSet
,URLQueryAllowedCharacterSet
和URLUserAllowedCharacterSet
MMMHUHU
TA贡献1834条经验 获得超8个赞
我使用此代码片段有两个问题:1. 永远不要一次编码整个查询字符串。某些字符保留为查询字符串部分(&,=等)之间的分隔符,并且如果组成这些查询部分的原始字符串包含这些字符中的任何一个,则您的方法将很难解决。2.您应该使用NSURLComponents构造查询字符串,而不是使用字符串串联。它更安全,并且避免您完全担心字符集。
添加回答
举报
0/150
提交
取消