![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
привет. есть большой html-список ссылок, генерируемый PHP из простого текстового списка.
нужно как то пройтись (либо PHP во время генерации, либо JS после загрузки) по списку и проверить ссылки на валидность. все страница расположены на narod.ru и при неправильной ссылке выводится эта страница. нужно как-то открыть эти ссылки и узнать, какие из них приводят на 404-ю и записать их, чтобы потом можно было в ручную исправить. вот, как это сделать? может, фреймами/окнами или ещё как... |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Думаю тебе нужно решать эту задачу здесь, ибо будет более корректным. Но это мое имхо.
|
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
не хотелось бы php юзать...
|
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
||||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
не понял...
|
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
||||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
||||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
||||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
||||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Alx, ну что тут не понятного?
Есть как я уже сказал 3 варианта: 1) обрабатывать всё на сервере 2) юзать IFRAME. Загружаешь в него проверяемые ссылки, выдираешь контент в переменную и анализируешь на текст, где должно быть что-то из: 404, Not found. 3) юзать XmlHttpRequest — это опять же запрос на сервер, т.е. с его помощью отсылаешь запрос на сервер и если ссылка битая, то прийдёт заголовок с кодом 404 Вот собсна и всё. ![]() |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Ciber SLasH,
в чем разница между первым и третим? и как получить контент из iframe содержимое которого на другом узле? |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Тем, что на сервере это быстрее и клиентский код будет намного меньше, чем при использовании 3-го метода, а уменьшение кода благополучно влияет на быстроту загрузки. ![]() http://forum.vingrad.ru/index.php?showtopic=73988 |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Ciber SLasH,
я тебя не понимаю... кто-нибудь ещё скажите мне, что сделать это средствами JS нельзя и я успокоюсь и сделаю через PHP. |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Сделать можно, только нужно ли…
|
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Alx, при попытке что-либо прочитать из чужого фрейма идёт ошибка доступа к другому сайту. Поэтому, что пришло - как узнаешь?
Если по XMLHttpRequest, то в FF не работает, а так - получишь код возврата. Так что, я вижу, что можно только для IE. Есть у кого другиек методы? |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
12345c,
да мне пофиг какой браузер)))) мне надо просто "пропинговать" УРЛы, чтобы узнать какие из низ валидны, а какие - нет, чтобы в ручную ихисправить. но это же опять идет использование php. просто я не хочу пользоваться сокетами и все такое. это слишком муторно. где-то тут видел что-то вроде
разве эта функция работает для страниц на другом сервере? Это сообщение отредактировал(а) Alx - 13.3.2006, 13:26 |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
||||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
12345c,
сорри, но см. первый пост... |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Т.е. 404-я ошибка не выдаётся? Я бы попробовал извлечь что-то по XMLHttpRequest на клиенте, заранее сказать трудно.
Через прокси на сервере, конечно, будет работать, контент проанализируется. Это сообщение отредактировал(а) 12345c - 13.3.2006, 19:11 |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
эх, лана, буду тра**ть сокеты)
всем пасиб) |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Можно попробовать сделать мегахитрую вещь (
![]() |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
совершенно точно работает. я вместо сокетов ее использую |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Aliance,
ухт... тогда, наверное, всё будет гораздо проще...) спасибо большое!!) |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
file_get_contents(), конечно, работает вместо сокетов, с одним условием. Сервер не должен стоять за прокси, иначе без сокетов не обойтись.
|
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Если пофиг какой браузер, то можно таким методом для IE сделать (остальные браузеры, как оказалось ни так, ни через IFRAME не позволяют к чужим доменам обращаться):
Это сообщение отредактировал(а) Ciber SLasH - 14.3.2006, 12:40 |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Вот нашел еще:
|
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
||||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Alx, разумеется не возвращает
![]() |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
S.A.P.,
![]() я всё понимаю) мне наоборот нужно было именно народовскую страницу "простукивать"! поэтому file_get_contents() подходит, а просто реквест и проверка на загрузку документа - нет!! (см. первый пост) |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Alx, еще раз
![]() У нас есть сервер A, к которому мы имеем прямой доступ. Где - то там есть сервер B. На сераере B есть некоторые страницы, список которых у нас имеецца. Задача: определить, запросы на какие страницы вернут 404 Not found и на какие 200 OK. Я правильно понял? ![]() Если да, то сам контент запрашиваемых страниц нас не интересует (поэтому file_get_contents тут не к месту). А интересуют нас заголовки, которые вернутся с сервера B в ответ на HEAD запрос. Решение: 1. На сервере, при помощи fsockopen и fwrite составлять HEAD запросы к твоему узлу по каждому URL из списка и читать заголовки, которые возвращаются. 2. Либо на сервере установить mod_rewrite с сервера A на сервер B, что нам позволит общаться HEAD запросами с сервером B из Java скрипта. |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
о Боги, нет!))) народовские страницы не возвращают not found! они возвращают дефолтовую страницу! там написано что страница не найдена. поэтому тут как раз подходит просто поискать file_get_contents()'ом слова той деволтовой страницы. проблема решена! всем спасибо!))))) ![]() |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
||||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Есть: пометить, как решеный
![]() |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Ужос.
Alx, дружеский совет: на досуге поискать в интернете: 1. Что такое заголовки и какие заголовки в каких ситуациях сервер возвращает. 2. Что такое HEAD запрос, где он применяется и чем отличается от GET запросов. 3. Почему нужно использовать fsockopen вместо file_get_contents для получения информации с другого узла. ну и еще вот это статейку http://premshree.livejournal.com/66129.html?thread=881233 на закуску. |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
S.A.P.,
ты меня не понимаешь))))) |
|||
|
||||
Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Парни, вроде вопрос уже решён, что ещё требуется?
![]() |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |