Запрос Curl отказывается от подключения к серверу с использованием метода POST

#php #wordpress #curl

#php #wordpress #curl

Вопрос:

Я отправляю запрос post на URL со следующими параметрами:

 {"invoice":"INV-521240","status":1,"method":"wallet","re":"testing_ref"}
 

Я тестирую тот же запрос с postman, и он работает. Проблема в том, что запрос не работает из запроса curl, который я отправляю:

Вот код, который я использую:

 $curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_PORT => "7080",
CURLOPT_URL => "http://47.91.109.79:7080/moolapay/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{"invoice":"INV-521240","status":1,"method":"wallet","re":"testing_ref"}",
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json",
"postman-token: b7732a5b-2d0d-1f9f-7557-b14a696385e9"
),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
 echo "cURL Error #:" . $err;
} else {
 echo $response;
}
 

Комментарии:

1. Извините, но «не работает» — это не сообщение об ошибке или полезная формулировка проблемы. Мы не можем исправить «не работает» в коде, так же как механик не может починить машину, которая «не работает», без какой-либо другой информации о проблеме. Как это не работает? Что именно происходит при запуске кода? Что вы ожидали, что произойдет вместо этого? Пожалуйста, предоставьте подробную информацию о сообщениях об ошибках, неожиданном поведении и т. Д.

2. PS В общем, не стоит создавать свой JSON вручную таким образом. Вместо этого создайте объект PHP, а затем используйте json_encode() . Тогда вы случайно не создадите никаких проблем с синтаксисом или кодировкой.

3. «с почтальоном, и это работает» … вы использовали PostMan для генерации этого кода cURL для вас?

4. @ADyson да, я использовал тот же код, что и postman. prnt.sc/xd4jz2

5. ОК. Что ж, пожалуйста, сделайте так, как я предложил, и предоставьте некоторую фактическую отладочную информацию, с которой мы могли бы работать.