侃侃爾雅
2019-10-21 15:46:47
我的應(yīng)用程序正在使用這樣的NSURL:var url = NSURL(string: "http://www.geonames.org/search.html?q=A?n+Bé?da+Algeria&country=")當(dāng)我嘗試執(zhí)行一個(gè)任務(wù)來從此NSURL獲取數(shù)據(jù)時(shí),如下所示: 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") }但是當(dāng)我嘗試從該地址獲取數(shù)據(jù)時(shí)出現(xiàn)錯(cuò)誤,盡管當(dāng)我使用野生動(dòng)物園去鏈接時(shí):“ http://www.geonames.org/search.html?q =A?n+Bé?da+ Algeria&country =”我可以看到數(shù)據(jù)。我該如何解決?
3 回答

心有法竹
TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
為什么URLFragmentAllowedCharacterSet
呢?還有URLHostAllowedCharacterSet
,URLPasswordAllowedCharacterSet
,URLPathAllowedCharacterSet
,URLQueryAllowedCharacterSet
和URLUserAllowedCharacterSet

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
我使用此代碼片段有兩個(gè)問題:1. 永遠(yuǎn)不要一次編碼整個(gè)查詢字符串。某些字符保留為查詢字符串部分(&,=等)之間的分隔符,并且如果組成這些查詢部分的原始字符串包含這些字符中的任何一個(gè),則您的方法將很難解決。2.您應(yīng)該使用NSURLComponents構(gòu)造查詢字符串,而不是使用字符串串聯(lián)。它更安全,并且避免您完全擔(dān)心字符集。
添加回答
舉報(bào)
0/150
提交
取消