Отправить веб-форму только через 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(input);a.submit();