仅通过URL提交网络表单?
我真的不确定这是否属于这里,所以不要投反对票,让我知道是否属于这里,我会很快继续 无论如何,有一个搜索页面,当点击搜索按钮时,它不会在URL中包含搜索查询 搜索某个内容后,页面被重定向到,但正如前面所说,查询不在那里 我的问题是,是否有一种方法可以仅通过URL提交搜索值 我想知道是否有办法伪造搜索提交按钮并发布搜索词 根据表单字段名称通过URL 输入框的名称是仅通过URL提交网络表单?,url,http-post,url-parameters,forms,form-post,Url,Http Post,Url Parameters,Forms,Form Post,我真的不确定这是否属于这里,所以不要投反对票,让我知道是否属于这里,我会很快继续 无论如何,有一个搜索页面,当点击搜索按钮时,它不会在URL中包含搜索查询 搜索某个内容后,页面被重定向到,但正如前面所说,查询不在那里 我的问题是,是否有一种方法可以仅通过URL提交搜索值 我想知道是否有办法伪造搜索提交按钮并发布搜索词 根据表单字段名称通过URL 输入框的名称是search,因此我尝试了以下URL:,但不起作用,服务器返回: 服务器错误 说清楚一点,我不是在寻找服务器端解决方案,实际上也不是HTM
search
,因此我尝试了以下URL:,但不起作用,服务器返回:
服务器错误
说清楚一点,我不是在寻找服务器端解决方案,实际上也不是HTML解决方案,我只是希望能够在我的浏览器地址栏中粘贴一个简单的旧URL,并在那里
这可能吗
更新
此链接无效:而这个是:
有没有办法绕过这个问题?编辑:不可能直接创建到第一页的链接。但是,通过创建以下表单,您可以轻松地将用户发送到第一页:
<form id="postForm" method="post" action="http://www.example.com/search">
<input type="text" name="search" value="q">
</form>
这也可以通过在地址栏中键入JavaScript代码来实现:
javascript:a=document.createElement(“表单”);a、 方法=“POST”;a、 行动=”http://www.torec.net/search.asp?search=dark&page=2“;i=document.createElement(“输入”);i、 name=“搜索”;i、 value=“q”;a、 附加儿童(inpu)t) );a、 提交()代码>有时服务器会将GET和POST参数混为一谈,如PHP$\u REQUEST
散列。然而,通常情况下,它们是分开的,并且期望其参数出现在多部分/表单数据中的服务器可能根本不会查看URL。在这种情况下,正如这里所示,您必须构造一个POST请求。在客户端,您可以通过AJAX或通过构建和发布表单来实现这一点;在服务器端,可以使用curl
,也可以使用库。你没有说你想用它做什么(以及在哪里用),所以恐怕你只能得到一般的答案
编辑:下面是JavaScript半解决方案。你必须已经在某个页面上(即不能在空白页面上使用它),我不确定它是否能在所有浏览器上运行
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();
我要说清楚的是,我既不控制服务器,也不控制客户端,我不想使用任何html,只想使用粘贴在浏览器地址栏中的简单的旧URL。这是可能的吗?用一个词-不。用几个词来说,从技术上说是的,使用javascript URL。你能扩展一下js URL吗?我相信他的意思是你会把它粘贴到你的地址栏:javascript:var a=document.createElement(“表单”);a、 方法=“POST”;a、 行动=”http://www.torec.net/ssearch.asp?search=dark&page=2";var i=document.createElement(“输入”);i、 name=“搜索”;i、 value=“q”;a、 追加子项(输入);a、 提交()代码>您是否注意到“必须加载页面”?此外,这是一个黑客,因此“技术上是的”。如果你有别的解决办法,那就更好了。正如你所注意到的,他们似乎确实允许你阅读第二页;第一个页面在他们自己的界面中甚至被破坏(你不能返回到第1页)。我可以向用户发送的唯一方式是普通URL,如果不可能,那么答案是否定的。@Shimmy可以向用户发送第一个页面-他们所要做的就是访问你的网页。读我修改过的答案。
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();