NSURLUnsupportedURL -1002 在看似有效的 URL 上
Posted
技术标签:
【中文标题】NSURLUnsupportedURL -1002 在看似有效的 URL 上【英文标题】:NSURLUnsupportedURL -1002 on seemingly valid URL 【发布时间】:2015-10-15 10:27:17 【问题描述】:我正在使用 Alamofire 在不属于我的网站上查询搜索。
我使用的代码在其他 URL 上工作得很好,只是不是这个。我在诸如“http://www.180.no/bransje/ADMINCONS-AS/1.htm”之类的 URL 上收到不受支持的 URL 响应。我打印了 URL 并只是 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)
【问题讨论】:
你能显示你的 Alamofire 请求的代码吗?我使用 Alamofire 为这个 url 获得了 200 个statusCode
。
@Phoen1xUK 用代码更新问题。
【参考方案1】:
你可以尝试添加
stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
带有网址?它可能会解决您的问题。
Swift 1.2 let search180Query = ("http://www.180.no/bransje/" + (company.name?.stringByReplacingOccurrencesOfString(" ", withString: "-"))! + "/1.htm").stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
Swift 2.0 let search180Query = ("http://www.180.no/bransje/" + (company.name?.stringByReplacingOccurrencesOfString(" ", withString: "-"))! + "/1.htm" as NSString).stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
【讨论】:
【参考方案2】:我解决了这个问题。它与 Alamofire 无关,是我的 HTML 解析库 Kanna 无法读取 UTF8,因为该网站是用 Windows1502 编码的。以前从未遇到过,有趣的选择。
【讨论】:
以上是关于NSURLUnsupportedURL -1002 在看似有效的 URL 上的主要内容,如果未能解决你的问题,请参考以下文章