2013-02-20 3 views
0


Я пытаюсь разобрать страницу, чтобы найти все действительные URL-адреса, но вот проблема. На странице есть 3 типа ссылок: url (_http: //site.com/dir/page.html), абсолютный uri (/dir/page.html) и относительный uri (dir/page.html без начальной косой черты) , Вероятно, я ошибаюсь в терминологии, я не html-кодер. Но это не так.

Мне нужно найти и собрать все URL-адреса (т. Е. _http: //site.com/dir/subdir/page.html и т. Д.). И вот проблема. Если есть страница _http: //site.com/dir/page.html со ссылкой вроде < a href = "subdir/page.html" > ссылка </a > это должно привести нас на сайт _http: // .com/реж/подкаталог/page.html. Но если в главном разделе страницы есть < base href = "/" >, то такая же ссылка ведет к _http: //site.com/subdir/page.html, то есть отличается от _http: //site.com/dir/ подкаталог/page.html.

Вопрос в том, может ли быть что-либо еще в html-коде на странице, которая может влиять на целевой URL-адрес.
Спасибо заранее.Анализ относительных ссылок на странице html

ответ

0

В HTML как таковой нет ничего другого рядом с HREF базы Вы упомянули

Что может стать сложным и следует принимать во внимание, что там может быть связь на странице, сделанные выполнения скрипта, поэтому такие вещи, как window.location. href = что-то. Это было бы легко, если бы ссылки были четко изложены, но они также могут быть вычислены по сценарию, а затем вы можете пропустить ссылку или прочитать ее неправильно, используя простой синтаксический анализ.

+0

Спасибо! На самом деле я не рассматриваю код, созданный на стороне клиента, только тело ответа pure text/html :) – user1926948

0

Ваша проблема в том, как работает ссылка на url в html, пожалуйста, прочитайте: http://www.webdevelopersnotes.com/design/relative_and_absolute_urls.php3. Скажите, что вы находитесь в/admin /, и вам нужен /admin/login.aspx. Мой относительный URL - login.aspx, в то время как мой абсолютный /admin/login.aspx имеет смысл?

Так что, в основном, я говорю, это какой каталог, на который ссылается ваша ссылка. Это определит тип и содержание URL-ссылки для использования.

Кроме этого, как уже указывалось, код jscript и серверный код также могут связывать.

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