Ярлык на POST запрос браузера

nik93

Есть сайт, который не запоминает пользователей, сессия длится не долго, требуется раз в час и соответственно нужно каждый раз заново открывать страницу логина и логиниться кривым логином и паролем, причем какие-то нестандартные текстбоксы, которые не запоминают автоподстановку. Это все очень раздражает. Логин и пароль передаются через POST, все параметры известны, как создать ярлык чтобы по клику на него генерился POST запрос и открывался уже залогиненый сайт в браузере? (если это возможно)
ЗЫ: если не попал в раздел - перенесите в девелопмент.

okis

Можно поставить закладку на javascript:…, а после «:» прописать что нужно.

0000

Попробуй передать методом GET. Если сайт получает переменные через массив REQUEST, то прокатит. Если же через POST, то надо дальше думать.
P.S. Для php страничек.

Andbar

P.S. Для php страничек.
для любых страничек, при переложении на соответствующую терминологию.

Commandor

Можно поставить закладку на javascript:…, а после «:» прописать что нужно.
Ну раз сумничал, то приведи пример скрипта для букмарков, чтобы он открывал нужную страницу методом POST, передавая ей нужные параметры.

Andbar

как вариант - gm-скрипт

Commandor

Ты это к чему сказал? Вариантов я сам могу тонну придумать. В том числе не обломаться и написать под конкретные нужны дополнение к фаерфоксу. А вот тривиального с использованием урла javascript: ... из букмарков че-то не могу. Vissi же ответил так, как будто написание данного скрипта является для топикстартера легким делом. Вот я и интересуюсь скриптом.

okis

чтобы он открывал нужную страницу методом POST, передавая ей нужные параметры.
Если на странице есть соответствующая форма, то после javascript: будет что-то вроде:
document.forms[0].elements[0].value='login'; …; document.forms[0].submit
Если ТС знает слово POST, то написать скрипт, возможно, потребует незначительных усилий.
Но дело в том, что то, что я написал браузер и так умеет делать, а у ТС, как он говорит, что-то нестандартное, поэтому скрипт я приводить не стал.

Commandor

И как это поможет не открывать страницу логина?

artimon

Создать локальную страничку с формой с предзаполнеными полями и нажатием на сабмит скриптом при загрузке страницы.
Впрочем, если авторы сайта параноики, то не поможет.

okis

Как сделать это не открывая страницу в браузере, я не знаю. Но скрипт определённо ускорит вход: пара кликов по закладкам или вбивать логин:пароль — разница есть. Ну и, как говорили выше, в firefox можно применить gm, но это тоже не прямой ответ на вопрос ТС.

Commandor

Прямой ответ дал

<html><head></head><body>
<form method="post" action="http://mail.mexmat.net/src/redirect.php" id="xz">
<input type="hidden" name="login_username" value=""/>
<input type="hidden" name="secretkey" value=""/>
<input type="hidden" value="1" name="js_autodetect_results"/>
<input type="hidden" value="1" name="just_logged_in"/>
</form>
<script>
document.getElementById('xz').submit;
</script>
</body></html>

Как-то так. Важно учесть все поля, которые есть в форме.

nik93

походу это работает, но есть проблема - страница написана на чистом JS и ФРЕЙМАХ!
в коде куча this.location и document.location соответсвенно если запускать локально сохраненную страницу + JS нифига не пашет т.к. location локальный.
JS может как-то сначала получить страницу а потом выполнить на ней код?

Commandor

А нафига тебе все эти JS-ы и фреймы? Можно же просто посмотреть каким-нить HttpFox-ом что конкретно улетает на сервер в конечном итоге и эмулировать простенькой формой из примера выше (если данные статические и не зависят от внешних факторов).

0000

Ну вроде как не факт. Если после логина используется Ajax, который модифицирует уже существующую поблочную инфу, то нужно будет иметь такие же блоки на фейковой страничке.

Commandor

Ну не факт разумеется. Но лучше попробовать сначала простые варианты, чем мутить что-то сложное.

nik93

Ну не факт разумеется. Но лучше попробовать сначала простые варианты, чем мутить что-то сложное.
я попробовал, получил то, что написал Зубастик и сразу написал что проблема есть.

nik93

все - поставил дополнение IMacros, проблема решилась моментально =)
Оставить комментарий
Имя или ник:
Комментарий: