3

是否可以发送数据,您通常必须使用提交按钮来发送它,只使用 url?

下面是一个带有类似按钮的网站的代码示例:

<form method="POST" action="Action.php?action=338&amp;n=688&amp;t=mine"><input type="hidden" id="Mine688" value="1" name="duree"><button value="submit" class="boutonsGeneral" type="submit" name="travail"><span title="" class="infoBoutonsGeneral"><span class="boutonsGeneral_separateur">&nbsp;</span><span class="boutonsGeneral_gain" id="gainMine688"><img width="48" height="24" src="images/items/itemArgent.png">+2,18</span></span>Munca <span class="boutonsGeneral_duree boutonsGeneral_dureeMoins" id="dureeMine688">1 hour</span></button></form>

在此处输入图像描述

当我单击该按钮时,这是来自 Live HTTP Header:

ww.kraljevine.com/Action.php?action=338&n=688&t=mine

POST /Action.php?action=338&n=688&t=mine HTTP/1.1
Host: ww.kraljevine.com/
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ro-ro,ro;q=0.8,en-us;q=0.6,en-gb;q=0.4,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: ww.kraljevine.com/EcranPrincipal.php?l=8
Cookie: PHPSESSID=ec95ed7caf7c28f8a333; KC=account_name; KC2=1502cae30e04f5f55963e93; > > Glup=274; pageTamponVue=1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 22
duree=1&travail=submit

我想要做的是通过 url 发送帖子。就像是:

http://www.kraljevine.com/Action.php?action=338&n=688&t=mine(直到这里是网站的链接,我想添加这个) duree=1&travail=submit 不工作http://www .kraljevine.com/Action.php?action=338&n=688&t=mine&duree=1&travail=submit,因此我想知道是否可以这样做。

4

4 回答 4

3

首先,您需要知道POSTGET的用途。

  • 如果你想发送数据,你应该使用POST

  • 如果您想根据某些参数获取数据,请使用GET

使用GET发送数据是没有意义的,这也有一些限制。您可以在此处阅读有关限制的更多信息。

您始终可以使用CURLPOST数据发送到另一个 URL。

这是一个很好的教程如何做到这一点,这里是基于本教程的示例:

<?php
$url = 'http://www.kraljevine.com/Action.php?action=338&n=688&t=mine';
$fields = array(
                    'duree' => urlencode('1'),
                    'travail' => urlencode('submit')
            ); 
//$fields can be extended with more params for POST submit always encode them with urlencode for these 2 examples of 1 submit it is not necessary but sometimes is really imporant to do it

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
?>

最后一件事是$_REQUEST一个关联数组,默认情况下包含$_GET$_POST$_COOKIE的内容。您可以在 php 脚本中使用它,并且为 php 脚本传递变量的方式没有区别。

明智地使用它。

于 2013-07-01T13:14:29.743 回答
1

制作表单方法 GET 并将变量放在表单的隐藏字段中。例如:

<form method="GET" action="Action.php">
 <input type="hidden" name="action" value="338" />
 <input type="hidden" name="n" value="688" />
 <input type="hidden" name="t" value="mime" />
 ...more html/php...
</form>
于 2013-07-01T13:03:19.987 回答
1

最简洁的答案是不。

根据定义,GET 变量在 URL 中发送,POST 变量在请求正文中发送。

因此,您不能按照您的要求仅使用 URL 发送变量。

即使在 POST 请求中,您也可以通过参数物理捕获可能的 URL,但我强烈建议您不要采用这种方法。

你可以在这篇文章中阅读更多关于它的信息

于 2013-07-01T13:04:47.053 回答
0

在我的情况下使用弹簧靴。我已经从 POST 转换为 GET,如下所示:

在jsp(发件人)中:

在此处输入图像描述

在 Java 中(接收者): 在此处输入图像描述

我已转换为:

在 JSP 中: 在此处输入图像描述

在 Java 中: 在此处输入图像描述

结果与我想要的匹配。我只改变了图片中箭头指向的地方,它节省了我很多时间。所有参数都将轻松组合成对象“searchModel”。

在此处输入图像描述

于 2022-01-08T07:37:47.320 回答