目前我一直在做一个连接到 smsgateway 的项目。一旦用户向网关发送短信,它会将请求重定向到我们的服务器。问题是它们是在 $_GET 方法中收到的。但是短信提供商说他们在 $_POST 方法中传递它。我们最终收到的 URL 如下所示。
http://www.example.com/smstest?msg=sample&id=55788
使用 $_POST 方法时是否可以在 url 中接收参数
目前我一直在做一个连接到 smsgateway 的项目。一旦用户向网关发送短信,它会将请求重定向到我们的服务器。问题是它们是在 $_GET 方法中收到的。但是短信提供商说他们在 $_POST 方法中传递它。我们最终收到的 URL 如下所示。
http://www.example.com/smstest?msg=sample&id=55788
使用 $_POST 方法时是否可以在 url 中接收参数
HTTP 请求可以使用HTTP 方法 POST
,并且仍然使用包含查询参数的 URL。POST
只是 HTTP 标头中使用的“动词”,与GET
(and PUT
and DELETE
) 相同。URL 可以始终包含查询参数,也可以始终包含请求正文(尽管GET
请求不应该)。PHP 变量$_GET
仅表示解析后的 URL 查询参数,变量$_POST
仅表示解析后的请求正文。它们实际上与 HTTP 动词没有任何关系,因此有些误命名。
在执行HTTP 请求时,您只能使用一个动词(POST、GET、PUT、...)。但是,你可以做
<form name="y" method="post" action"y.php?foo=bar">
然后 PHP 也会填充 $_GET['foo'] ,尽管请求是 POST 的。
征求意见
通过使用
$_SERVER['REQUEST_METHOD']