in meiner Softwareanwendung ist ein Bestandteil das Spidern einer Homepage. Durch Testen lassen habe ich erfahren das die Links nicht immer korrekt ausgelesen werden, nämlich dann, wenn ein Base Tag definiert ist. Bis heute hatte ich von einem Base Tag nie was gehört.
Ich frage mich nun schon die ganze Zeit welche Logig mir korrekt die Links ermittelt.
Ich habe dies hier im Kopf:
Code: Alles auswählen
wenn vollständer link (also mit http://)
{
link aufnehmen
}
else (link unvollständig, also kein http://)
{
wenn erstes zeichen ist '/'
{
die hauptdomain (http://www.domain.de) vorne ranhängen und als link aufnehmen
}
else
{
wenn existiert ein base eintrag
{
den base eintrag vorne ran hängen und als link aufnehmen
}
else
{
domainpfad von vorgänger url extrahieren (http://www.11domain111.de/test/file.php) = http://www.11domain111.de/test/
domainpfad vorne anhängen und link aufnehmen
}
}
}
Ich weiß z.b. nicht ob der base Eintrag immer gilt, egal ob ein Link mit / anfängt oder nicht. Wenn ich in einem Ordner bin und mit /file.php linke, dann geht da linkt ja auf die hauptdomain. Nur wie ist das beim Base?
Wäre nett wenn sich mal jemand meine Logic anschaut und mich da verbessert.
Phil