为什么PHP cURL POST请求显示为GET?

为什么PHP cURL POST请求显示为GET?,php,http,post,curl,firebug,Php,Http,Post,Curl,Firebug,我试图向api发送POST请求,以使用PHP cURL创建用户。下面是代码示例 <?php $email="jas@example.com"; $name = "jas"; $data = array( "user" => array("email"=>$email,"name"=>$name) ); //encoding to json format $jsondata= json_encode($data); $credentials = "username:pas

我试图向api发送POST请求,以使用PHP cURL创建用户。下面是代码示例

<?php
$email="jas@example.com";
$name = "jas";
$data = array(
"user" => array("email"=>$email,"name"=>$name)
);
//encoding to json format
$jsondata= json_encode($data);

$credentials = "username:pass";
$header[] = "Content-Type: application/json";
$header[] =  "Authorization: Basic " . base64_encode($credentials); 
$connection = curl_init();
curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($connection, CURLOPT_HTTPHEADER, $header);
curl_setopt($connection, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($connection, CURLOPT_HEADER, false);

//POSTS
curl_setopt($connection, CURLOPT_POST, 1);
curl_setopt($connection, CURLOPT_POSTFIELDS, $jsondata);

curl_setopt($connection, CURLOPT_VERBOSE, 1);


curl_setopt($connection, CURLOPT_URL, "http://domain.freshdesk.com/contacts.json");
$response = curl_exec($connection); 
?>
我在firebug net选项卡中看到一个GET请求。


它真的是一个post请求吗?因为缩进操作(创建新用户)并没有发生,而是将所有用户列为GET请求。

GET请求只是您对
PHP
脚本的请求,然后执行
post
请求


您无法在开发人员控制台中看到使用cURL完成的请求,因为它们是从服务器而不是客户端发送的。

错误在于使用firebug调试此请求的逻辑

将GET请求发送到服务器/页面create-user.php。反过来,该脚本/服务器向API站点发送POST请求。您的web客户端(浏览器),因此firebug,不“知道”发生在您的服务器上的第二部分


要查看实际的POST请求,应该使用不同的工具。例如,将POST请求指向您自己的计算机,然后在服务器日志中确认存在入站POST请求。

您在客户端看不到curl请求,您看到的是对正在进行服务器端curl调用的文件的请求
curl_setopt($connection, CURLOPT_POST, 1);
curl_setopt($connection, CURLOPT_POSTFIELDS, $jsondata);