2016-03-10 109 views
2

我需要输入页面用户的标题。 URL可以输入"http://url.com""url.com" 此外,服务器可以直接重定向请求给它(在"google.com"选中)如何获取URL“标题”标记值?

我应该如何正确地提出请求并得到响应的<title></title>标签之间的值?

+0

Hreno,你可以发布一些代码或给她一些上下文她è? – user3069232

+0

可能的重复http://stackoverflow.com/questions/2275876/how-to-get-the-title-of-a-html-page-displayed-in-uiwebview – Koen

回答

1

您必须解析您的用户请求的HTML页面。

尝试一个HTML解析器像Kanna

一旦你已经通过的CocoaPods安装看那,试试这个代码:

import Kanna 

let html = "<html>...</html>" 

if let doc = Kanna.HTML(html: html, encoding: NSUTF8StringEncoding) { 
    print(doc.title) // here your title 
} 

从页面获取HTML代码,尝试这个请求:

let myURLString = "http://www.yahoo.com" 

if let myURL = NSURL(string: myURLString) { 
    var error: NSError? 
    let myHTMLString = try! NSString(contentsOfURL: myURL, encoding: NSUTF8StringEncoding) 

    if let error = error { 
     print("Error : \(error)") 
    } else { 
     print("HTML : \(myHTMLString)") 
    } 
} else { 
    print("Error: \(myURLString) doesn't URL") 
} 

希望它有帮助;)

+0

非常感谢你!在请求“google.com”时遇到了一些编码问题,但从来没有这样做过) –

+0

@HrenoHrenovich欢迎您尝试更改'encoding' – Thomas