CROSS-DOMAIN - Получить страницу источника - PullRequest
0 голосов
/ 30 сентября 2011

Привет, у меня здесь есть проект, где нам нужно конкретное значение из другого домена. У меня нет доступа к изменениям (поэтому я не могу выполнять вложенные фреймы или CORS). Нам нужно сохранить состояние сеанса / cookie таким же образом, чтобы получить необходимые данные со страницы, так как токен изменяется в зависимости от пользователя на странице. Таким образом, решение на стороне сервера не будет работать.

Каков наилучший способ сделать это, вот что является источником страницы во всей ее полноте. Мне нужно получить значение FF321332

{"<!--":"","token":"FF321332","expire":1317448445,"":"--><body onload=document.body.innerHTML=clear>"}

Некоторые вещи, которые я до сих пор пробовал, - это теги динамического сценария. «Выдает ошибку JS. Неожиданный токен: ошибка, Jquery (.getScript). Ошибка.

Мне кажется, что я на правильном пути с тегами .getScript или Dynamic Script, так как он почти хочет прочитать их. Но если я смогу обойти неожиданную ошибку токена и просто прочитал ее как текст (если возможно) я могу просто разобрать переменную как обычный текст.

Любая помощь в этом будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

JSONP позволяет вам делать то, что вы пытаетесь сделать.Ознакомьтесь с документом jQuery о том, как заставить ваш .get использовать JSONP для обхода междоменной защиты браузера.

По сути, когда вы делаете $ .getJSON, если в URL есть фрагмент, который говорит "callback =" + что угодно, тогда он будет обрабатывать его как jsonp вместо стандартного getjson.

Удачи.

0 голосов
/ 30 сентября 2011

Не думайте, что вы можете обойти ошибку, используя теги скрипта, потому что обычно, после загрузки "javascript", указанного в атрибуте src, он также выполняется.Вы сказали, что не можете использовать решение на стороне сервера, потому что вам нужно сохранить состояние?

Ну, вы можете сделать это, используя curl и банку с печеньем.Никогда раньше не пробовал, но теоретически это должно сработать: в основном, все, что вам нужно сделать, это настроить запрос скручивания к удаленному домену, чтобы принимать куки и сохранять их в файле (cookie jar), а затем сделать второй запрос для получения передачивместе с предыдущими полученными файлами cookie.

Попробуйте, возможно, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...