Отправить веб-форму только через URL?

Я не совсем уверен, что это здесь, так что вместо того, чтобы понизить голосование, просто позвольте мне знать, если так, и я быстро перейду дальше.

В любом случае, есть веб-сайт с поисковой страницей, который при нажатии на кнопку поиска не включает поисковый запрос в URL.

После поиска чего-либо страница перенаправляется на ssearch.asp, но, как уже говорилось, запрос не существует.

У меня вопрос, есть ли способ отправить значения поиска только через URL.

Мне было интересно, есть ли способ подделать кнопку поиска и отправить поисковый запрос через URL в соответствии с именами полей формы.

Название поля ввода search, поэтому я попробовал этот URL: http://www.torec.net/ssearch.asp?search=query, но он не работает, сервер возвращает:

Ошибка сервера.

Просто чтобы прояснить, я не ищу решение на стороне сервера, и на самом деле, ни решение HTML, я просто хочу иметь возможность вставить старый старый URL в адресную строку моего браузера и быть там.

Это возможно?

Обновить

Эта ссылка не работает:
http://www.torec.net/ssearch.asp?search=dark&page=1

Пока этот делает:
http://www.torec.net/ssearch.asp?search=dark&page=2

Любой способ обойти это?

2 ответа

Решение

Иногда серверы сопоставляют параметры GET и POST, как в PHP $_REQUEST хэш. Однако, как правило, они являются отдельными - и сервер, который ожидает свои параметры в multipart/form-data может не смотреть на URL вообще. В таком случае, как кажется, вы должны создать запрос POST. На стороне клиента вы можете сделать это через AJAX или с помощью создания и публикации формы; на стороне сервера вы можете использовать curlили библиотека. Вы не сказали, для чего вы хотите его использовать (и где вы хотите его использовать), поэтому, боюсь, вы просто получите общий ответ.

РЕДАКТИРОВАТЬ: Вот полу-решение JavaScript. Вы уже должны быть на какой-то странице (то есть не можете использовать ее на _blank), и я не уверен, работает ли она во всех браузерах.

javascript:d=document;f=d.createElement("form");h=d.createElement("input");f.setAttribute("method","post");f.setAttribute("enctype","application/x-www-form-urlencoded");f.setAttribute("action","http://www.torec.net/ssearch.asp");h.setAttribute("type","hidden");h.setAttribute("name","search");h.setAttribute("value","query");f.appendChild(h);d.body.appendChild(f);f.submit();

Редактировать: невозможно создать ссылку непосредственно на первую страницу. Однако вы можете легко отправить пользователя на первую страницу, создав форму:

<form id="postForm" method="post" action="http://www.example.com/search">
    <input type="text" name="search" value="q">
</form>

И затем отправка формы каждый раз, когда пользователь нажимает псевдо-ссылку:

document.getElementById("postForm").submit();

Это также можно сделать, введя код JavaScript в адресную строку:

javascript:a=document.createElement("form");a.method="POST";a.action="http://www.torec.net/‌​ssearch.asp?search=dark&page=2";i=document.createElement("input");i.name="search";i.value="q";a.appendChild(inpu‌​t);a.submit();

Другие вопросы по тегам