From f02d3a7ecd4e53af215bcec14ef1480cba9840ed Mon Sep 17 00:00:00 2001 From: megabigbug Date: Sun, 21 Feb 2010 12:24:19 +0100 Subject: handle relative urls (needs test with particular encoding) --- src/webpage.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/webpage.cpp') diff --git a/src/webpage.cpp b/src/webpage.cpp index ce2d5e40..872766ff 100644 --- a/src/webpage.cpp +++ b/src/webpage.cpp @@ -335,17 +335,21 @@ void WebPage::downloadRequest(const QNetworkRequest &request) void WebPage::downloadAllContentsWithKGet() { QList contentList; + KUrl baseUrl(m_requestedUrl); + KUrl relativeUrl; QWebElementCollection images = mainFrame()->documentElement().findAll("img"); foreach(QWebElement img, images) { - contentList.append(img.attribute("src")); + relativeUrl.setEncodedUrl(img.attribute("src").toUtf8(),KUrl::TolerantMode); + contentList.append(QString(baseUrl.resolved(relativeUrl).toEncoded())); } QWebElementCollection links = mainFrame()->documentElement().findAll("a"); foreach(QWebElement link, links) { - contentList.append(link.attribute("href")); + relativeUrl.setEncodedUrl(link.attribute("href").toUtf8(),KUrl::TolerantMode); + contentList.append(QString(baseUrl.resolved(relativeUrl).toEncoded())); } if(!QDBusConnection::sessionBus().interface()->isServiceRegistered("org.kde.kget")) -- cgit v1.2.1