我使用Alamofire在我不拥有的网站上查询搜索。
我正在使用的代码在其他URL上运行得很好,而不是这个。我在" http://www.180.no/bransje/ADMINCONS-AS/1.htm"等网址上获得了不受支持的网址回复。我打印了网址,只是curl
d,它运行正常。不知怎的,这对Alamofire不起作用。我在做什么明显的错误?
代码:
//Search 180.no for info page
let search180Query = "http://www.180.no/bransje/" + (company.name?.stringByReplacingOccurrencesOfString(" ", withString: "-"))! + "/1.htm"
print(search180Query) //http://www.180.no/bransje/PORTRAIT-MILLION-HANDSHAKES-AS/1.htm
Alamofire.request(.GET, search180Query)
.responseData { searchResultPage in
let searchResultPage = Kanna.HTML(html: searchResultPage.data!, encoding: NSUTF8StringEncoding)
let searchResultID = searchResultPage!.xpath("//div[@class='found-company-container-grey foundItem'][1]//@id")
//ERROR: fatal error: unexpectedly found nil while unwrapping an Optional value
print(searchResultID.text)
}
答案 0 :(得分:1)
您可以尝试添加吗? {0}与网址有关。它可以解决你的问题。
Swift 1.2 stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
Swift 2.0 let search180Query = ("http://www.180.no/bransje/" + (company.name?.stringByReplacingOccurrencesOfString(" ", withString: "-"))! + "/1.htm").stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
答案 1 :(得分:0)
我解决了这个问题。它与Alamofire无关,它是我的HTML解析库Kanna无法读取UTF8,因为该网站是用Windows1502编码的。以前从未遇到过,有趣的选择。