![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Kefir |
|
||||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
В общем суть скрипта - послать запрос на сайт X, получить хедеры и выдрать из них нужный.
Как я это пытаюсь сделать:
Этот код у меня стоит на кнопке. Проблема заключается в том, что первый ответ с сайта содержит в себе замечательный хедер Location - его то мне и надо выдрать. Однако ответ на первый запрос не alert'ится (а Location именно в первом ответе). Т.е. алерт у меня начинает выскакивать и показывать ответы только со второго ответа. В принципе обычный диалог браузера и вайта выглядит так:
Что делать-то? |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
По идее никак, XMLHttpRequest был так задуман, оградить программиста от лишней возни с редиректами и прочим, потому редиректа ты не получишь.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
/* но ведь ответ есть! почему он ко мне не приходит? гррр... /me зол на XMLHttpRequest... */
ну хорошо, а если отбросить этот пресловутый XMLHttpRequest и посмотреть в общем - как можно через JS получить этот редирект? именно JS, возможности использовать какой-либо другой язык не имею (стал бы я с js возится, если бы была возможность пхп, например, юзать) или гиблое это дело? может как-то можно получить запросы, которые отправлял XMLHttpRequest (там ведь в строке "GET blah-blah" содержится то что мне надо)? или такого функционала тоже нет (спрашиваю так, без надежды, т.к. w3c я пропахал вдоль и поперёк). и кстати, на этом w3c, на страничке The XMLHttpRequest Object в разделе 1.5. Not in this Specification есть такие слова: Property to disable following redirects;. Буду благодарен за любой материал по поводу выделенного. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Посмотрел, нет никак.
Ну вопервых XMLHttpRequest адоптирован W3C как неизбежность, уж больно мелкософтовцы хорошо его придумали. Во вторых сейчас они хотят расширить его функционал, потому упомянули фичи, что некоторые браузеры (уже/не)реализовали. ИЕ точно не поддерживает перехват редиректов. На встречу: а зачем этот гем*ррой, почему сервер не может отдавать ссылку просто инфой, а не вырезать её из редиректа? Просто выглядит это всё уж больно не на свежую голову продуманным -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
в каком смысле "просто инфой"? я просто чтобы было совсем ясно скажу - сайт выдаёт ссылку только в хедерах на самой странице (на которцю пришёл редирект). упоминания ссылки нет. или ты что-то другое имел в виду? если есть какой-то другой способ узнать ссылку по которой мы пришли - я буду рад. XMLHttpRequest я начал использовать исключительно из-за того, что больше способов не нашёл. меня интересует исключительно ФФ, но в доках ничего про обрезание редиректов в ФФ не нашёл. Это сообщение отредактировал(а) Kefir - 5.10.2006, 10:07 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Долго думал... Есть сайт, что при обращении кидает редирект на конкретную страницу, отдавая в хедерах также URL (refferer) откуда мы зашли, верно? Но ведь XMLHttpRequest не отсылает reffer'ов, это просто новый опрос сервера, как будто в адресной строке ты вбил и открыл браузером. Отдать инфой, это значит на сервере при получении параметра ajax=1 сервак отдаст ссылку редиректа как: <?xml version="1.0" encoding="utf-8"?> <redirect><!CDATA[http://blabla...]]></redirect> И ни тебе лишних проблем и работать будет везде. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
сайт отдаёт ссылку только в хедере Location. этот хедер отсылаетса толко один раз (в первом ответе). далее в хедерах нет никакого упоминания о том куда мы идём/пришли. реферера в ответах сайта нет (см. первый пост - там реалный диалог с сайтом выдранный мною при помоши LiveHTTPHeaders (Firefox addon)).
такой возможности нет, так как не могу я править всё ето дело - доступа нету. |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Правильно ли я понял что сервер не твой?
По сабжу: по прежнему не реально -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: нет Всего: 87 |
угу эээх... ну что за жизнь такая?.. тему можно считать закрытой. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |