Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅通过URL提交网络表单?_Url_Http Post_Url Parameters_Forms_Form Post - Fatal编程技术网

仅通过URL提交网络表单?

仅通过URL提交网络表单?,url,http-post,url-parameters,forms,form-post,Url,Http Post,Url Parameters,Forms,Form Post,我真的不确定这是否属于这里,所以不要投反对票,让我知道是否属于这里,我会很快继续 无论如何,有一个搜索页面,当点击搜索按钮时,它不会在URL中包含搜索查询 搜索某个内容后,页面被重定向到,但正如前面所说,查询不在那里 我的问题是,是否有一种方法可以仅通过URL提交搜索值 我想知道是否有办法伪造搜索提交按钮并发布搜索词 根据表单字段名称通过URL 输入框的名称是search,因此我尝试了以下URL:,但不起作用,服务器返回: 服务器错误 说清楚一点,我不是在寻找服务器端解决方案,实际上也不是HTM

我真的不确定这是否属于这里,所以不要投反对票,让我知道是否属于这里,我会很快继续

无论如何,有一个搜索页面,当点击搜索按钮时,它不会在URL中包含搜索查询

搜索某个内容后,页面被重定向到,但正如前面所说,查询不在那里

我的问题是,是否有一种方法可以仅通过URL提交搜索值

我想知道是否有办法伪造搜索提交按钮并发布搜索词 根据表单字段名称通过URL

输入框的名称是
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();