我有一个简单的应用程序,可以从网页获取所有链接,我使用 libexml2 解析 html 并提取 http 请求和 Qt QNetworkAccessManager 内部的 html 链接。现在的问题是如何自动检测链接的主机名,例如:
<a href="thelink.html" >
or
<a href="../../../thelink.html" >
or
<a href="../foo/boo/thelink.html" >
i need to convert it to full host path like :
( just example .. )
<a href="http://www.myhost.com/thelink.html" >
or
<a href="http://www.myhost.com/foo/boo/thelink.html" >
or
<a href="http://www.myhost.com/m/thelink.html" >
有没有办法以编程方式做到这一点?无需手动进行字符串操作
如果您知道 perl 它的名称:如果可能,请从以下位置返回相对 URL:http ://search.cpan.org/~rse/lcwa-1.0.0/lib/lwp/lib/URI/URL.pm
$url->rel([$base])
dosnt 工作的代码示例 (Qt) http://qt.digia.com/support/
QString s("/About-us/");
QString base("http://qt.digia.com");
QString urlForReq;
if(!s.startsWith("http:"))
{
QString uu = QUrl(s).toString();
QString rurl = baseUrl.resolved(QUrl(s)).toString();
urlForReq = rurl;
}
urlForReq 值为“/About-us/”