当前位置: 首页 > 知识库问答 >
问题:

远程调用PHP脚本时不会接收POST数据

闻人宝
2023-03-14

当远程调用PHP脚本时,我不会在该脚本中接收$_POST数据。我用卷发和邮差试过。

curl--location--request POST'http://example.com/backend.php?gateway=test'--form'status=ap'

我希望POST中有status

答复:

2020-09-22 13:19:27

JSON POST:

REQUEST:
Array
(
    [gateway] => test
)

GET:
Array
(
    [gateway] => test
)

POST:
Array
(
)

curl---location---request POST“http://example.com/backend.php?gateway=test"--header”content-type:application/x-www-form-urlencoded“--data-urlencode”status=ap'

我希望POST中有status

答复:

2020-09-22 12:59:00

JSON POST:

REQUEST:
Array
(
    [gateway] => test
)

GET:
Array
(
    [gateway] => test
)

POST:
Array
(
)

curl--location--request POST“http://example.com/backend.php?gateway=test'--header”content-type:application/json“--data-raw”{“status”:“ap”}“

我希望在JSON POST中出现status

答复:

2020-09-22 13:20:43

JSON POST:

REQUEST:
Array
(
    [gateway] => test
)

GET:
Array
(
    [gateway] => test
)

POST:
Array
(
)

下面是backend.php中的代码

<?php
header('Access-Control-Allow-Origin: *');

$json = file_get_contents("php://input");

echo '<pre>';
echo date('Y-m-d H:i:s') . "\n";
echo "\n";
echo "JSON POST:\n";
if ($json) {
    print_r(json_decode($json, true));
}
echo "\n";
echo "REQUEST:\n";
print_r($_REQUEST);
echo "\n";
echo "GET:\n";
print_r($_GET);
echo "\n";
echo "POST:\n";
print_r($_POST);

它可以在本地主机中正常工作,但不能在生产中正常工作。生产上的PHP版本为5.5.38。

共有1个答案

东郭淇
2023-03-14

奇怪。就像你想要的那样。你能试试这个吗:

curl -d "status=AP" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://example.com/backend.php?gateway=test
 类似资料:
  • 我有一个手工编写的脚本。但是,当我在Task Scheduler中调度它时,脚本永远不会结束,因此下次尝试运行时,它会失败,因为之前的实例仍在运行。第一次或手动运行时,脚本本身需要几秒钟才能完成。以下是脚本: 使用以下设置调度脚本: 无论用户是否登录,请运行(用户帐户已被授予作为批处理程序登录权限) 以最高权限运行 每日触发,每 2 分钟一次 要执行的操作: 启动程序 powershell -文件

  • 本文向大家介绍浅谈PHP接收POST数据方式,包括了浅谈PHP接收POST数据方式的使用技巧和注意事项,需要的朋友参考一下 通常情况下用户使用浏览器网页表单向服务器post提交数据,我们使用PHP接收用户POST到服务器的数据,并进行适当的处理。但有些情况下,如用户使用客户端软件向服务端php程序发送post数据,而不能用$_POST来识别,那又该如何处理呢? $_POST方式接收数据 $_POS

  • 我正在尝试设置一个要自动执行的python代码。 我从要执行的小代码开始: 任务将完全启动并执行(文件已修改),但它永远不会在任务调度程序中结束。 这个和这个存在于某处,但没有真正的答案。这些线程中提出的唯一解决方法是在Windows中强制在给定时间后结束任务,但这需要知道python脚本将花费多长时间,而我的实际任务将不会如此。 任务调度程序如何知道python脚本已完成? 我在任务计划程序中以

  • 用途:使用php将命令直接输入minecraft服务器控制台 我正在尝试使用php脚本(从浏览器运行)来执行shell脚本。当我从终端运行php时,它就可以工作了!但在浏览器中,什么都不会发生。 从终端运行时,我得到一个“数组0”,但浏览器给我一个“数组1” 问题是什么?一旦我运行了shell,之后的一切不应该像在终端上一样工作吗?(shell脚本内部的内容是否重要?) shell拥有所有rx权限

  • 我正在尝试为我拥有的一些受控插头插座设置一个web界面,这些插座由Raspberry Pi控制。我想有一个网页上的链接,我可以用来打开和关闭开关夫妇。我一直在尝试使用PHP来实现这一点,但由于某些原因,它根本不起作用。 我尝试了各种建议(见以下链接)。每当我点击链接时,我得到的只是一个白色页面,它没有做它应该做的事情,即打开和关闭开关。从命令行运行PHP脚本的工作与预期的一样,问题似乎只有在尝试从

  • 问题内容: 我正在使用HTTP POST将数据发送到服务器。但是在服务器中,我没有收到数据。而且我不知道如何在客户端检查数据(或调试脚本)。但是在客户端,我正在获取HTTP 200,这意味着已发送数据。我也可以看到连接和数据发送成功。但是,登录服务器不包含数据(仅包含字节数)。 如何记录发送到服务器的原始POST数据? 仅供参考,此处客户端是功能非常有限的嵌入式设备。所以,这是问题。因此,我无法检