http — Почему запрос PHP cURL POST отображается как GET?

Я пытаюсь отправить запрос POST в API для создания пользователя с помощью PHP cURL. Вот пример кода

<?php
$email="[email protected]";
$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);
?>

Похоже, что это не отправка сообщения на самом деле, хотя я установил

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

Я вижу GET-запрос на вкладке firebug net.
ПОЛУЧИТЬ в firebug

Это действительно почтовый запрос? Поскольку операция с отступом (создание нового пользователя) не выполняется, она перечисляет всех пользователей, поскольку это запрос GET.

0

Решение

Тот GET запрос просто ваш запрос PHP скрипт, который затем выполняет POST запрос.

Вы не можете видеть запросы, сделанные с помощью cURL, в консоли разработчика, поскольку они были отправлены с сервера, а не с клиента.

1

Другие решения

Ошибка в логике использования firebug для отладки этого запроса.

Вы отправляете запрос GET на свой сервер / страницу create-user.php. В свою очередь, этот скрипт / сервер отправляет запрос POST на сайт API. Ваш веб-клиент (браузер) и, следовательно, firebug, не «знают» эту вторую часть, которая происходит на вашем сервере.

Чтобы увидеть фактический запрос POST, вы должны использовать различные инструменты. Например, укажите запрос POST на свой компьютер, а затем подтвердите в журнале сервера, что был входящий запрос POST.

1

По вопросам рекламы [email protected]