Разбор URL для гусеничного - PullRequest
       6

Разбор URL для гусеничного

2 голосов
/ 06 сентября 2010

я пишу небольшой сканер, который извлекает от 5 до 10 сайтов при получении ссылок, я получаю несколько URL-адресов, подобных этому

../tets/index.html

если это /test/index.html, мы можем добавить с помощью базового URL http://www.example.com/test/index.html

что я могу сделать для такого рода URL.

Ответы [ 3 ]

1 голос
/ 06 сентября 2010

URL, как это относительные URL . «..» означает «родительский каталог», тогда как «.» просто означает «этот каталог», как в bash. Например, если вы смотрите на эту страницу: http://www.someserver/test/foo/bar.html, и в ней есть такой URL-адрес: "../baz/foobar.html", он фактически будет указывать на http://www.someserver/test/baz/foobar.html Я думаю. Просто протестируйте.

0 голосов
/ 08 сентября 2010

Посмотрите на эту Нормализацию URL Страница Википедии.

0 голосов
/ 06 сентября 2010

Используйте dirname(), чтобы получить базовый каталог, удалите .. с помощью substr() и добавьте его туда. Как это:

<?php
$url = "../tets/index.html";
$currentURL = "http://example.com/somedir/anotherdir";
echo dirname($currentURL).substr($url, 2);
?>

Это выводит:

http://example.com/somedir/tets/index.html

...