2015-10-15 61 views
0

我在使用Alamofire查询我不拥有的网站上的搜索。 即时通讯代码使用在其他网址上工作得很好,只是不是这个。我在URL上获得不受支持的URL响应,如“http://www.180.no/bransje/ADMINCONS-AS/1.htm”。我打印的URL,只是curl它,这工作得很好。不知何故,这不适用于Alamofire。我在做什么明显的错误?NSURLUnsupportedURL -1002看起来有效的URL

代码:

//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

您能否显示您的Alamofire请求的代码?我使用Alamofire为此URL获取了一个“statusCode”。 –

+0

@ Phoen1xUK更新了与代码的问题。 –

回答

0

我解决的问题。这与Alamofire无关,它是我的HTML解析库Kanna不能读取UTF8,因为该网站是用Windows1502编码的。以前从未遇到过,有趣的选择。

1

你可以尝试添加 stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)与网址?。它可以解决你的问题。

夫特1.2 let search180Query = ("http://www.180.no/bransje/" + (company.name?.stringByReplacingOccurrencesOfString(" ", withString: "-"))! + "/1.htm").stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)

夫特2.0 let search180Query = ("http://www.180.no/bransje/" + (company.name?.stringByReplacingOccurrencesOfString(" ", withString: "-"))! + "/1.htm" as NSString).stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)