Php 使用CURL接收数据,然后将数据发送到外部webhook

Php 使用CURL接收数据,然后将数据发送到外部webhook,php,json,curl,webhooks,Php,Json,Curl,Webhooks,因此,我尝试从一个webhook接收JSON数据,使用PHP过滤某些条件,然后根据这些条件将数据发送到外部webhook地址 例如,我在服务器上创建了一个名为“webhook.php”的php文件: "php://input“可以完全保持原样,也可以尝试用webhook.php文件的URL替换它以防万一。我可以使用Postman测试我的webhook,返回200 OK,但数据从未发送到我的外部webhook() 我已经编写了条件PHP代码;我只是想确保我可以首先正确地发送和接收这些数据。非常感谢

因此,我尝试从一个webhook接收JSON数据,使用PHP过滤某些条件,然后根据这些条件将数据发送到外部webhook地址

例如,我在服务器上创建了一个名为“webhook.php”的php文件:

"php://input“可以完全保持原样,也可以尝试用webhook.php文件的URL替换它以防万一。我可以使用Postman测试我的webhook,返回200 OK,但数据从未发送到我的外部webhook()


我已经编写了条件PHP代码;我只是想确保我可以首先正确地发送和接收这些数据。非常感谢您的指导

问题在于curl_setopt。这个方法需要传递三个参数curl_setopt(resource$ch,int$option,mixed$value)。您可以通过以下方式进行设置

$curl = curl_init();
$opts = array (
 CURLOPT_URL => 'https://hooks.zapier.com/hooks/catch/',
 CURLOPT_RETURNTRANSFER => TRUE,
 CURLOPT_CUSTOMREQUEST => 'POST',
 CURLOPT_POST => 1,
 CURLOPT_POSTFIELDS => $dataEncode,
 CURLOPT_HTTPHEADER => array (
    'Content-type: application/json'
)
);
foreach ($opts as $key => $value) {
    curl_setopt($curl, $key, $value);
}
$results = curl_exec($curl);
echo $results;
curl_close($curl);
或者你可以像这样单独设置它们

curl_setopt($curl, CURLOPT_URL, 'https://hooks.zapier.com/hooks/catch/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
.....

在对它返回的任何数据进行操作之前,您不必检查curl的结果或文件内容。如果
$dataEncode
为空怎么办?另外,您应该使用检查curl请求发生了什么。zapier需要认证吗?是的!非常感谢。我知道这是一件微妙的事情。非常感谢。T
curl_setopt($curl, CURLOPT_URL, 'https://hooks.zapier.com/hooks/catch/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
.....