2016-03-10 2 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

Смежные вопросы