Я пытаюсь перевести команду curl в команду wp_remote_request.
Вот локон команда:curl command to wp_remote_request command
curl -v
-H "Accept:application/json" -H "Content-type:application/json"
-X POST -d '{"user":{"password":"***","email":"***"}}'
http://***/users/sign_in.json
А вот мой PHP
$t = array(
"user" => array(
"password" => "***",
"email" => "***"));
$args = array (
'headers' =>
array (
'Accept' => 'application/json',
'Content-Type' => 'application/json',
),
'method' => 'POST',
'body' => json_encode($t)
);
$response = wp_remote_request(
'http://***/users/sign_in.json' , $args);
Проблема заключается в том, что он просто не будет работать. Я получаю разные ошибки в зависимости от того, что я положил в «тело», но обычно просто «404». Единственное, что я могу придумать, это то, что curl -d каким-то образом кодирует запрос, но я не могу понять, как это сделать. Есть предположения? Благодарю.
Кстати, следующие прекрасно работает, но опять-таки я хотел бы использовать wp_remote_request
$t = array('user' => array('password' => '***',
'email' => '***'));
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://***/users/sign_in.json',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => json_encode($t),
CURLOPT_HTTPHEADER => array('Content-Type: application/json')
));
$resp = curl_exec($curl);
curl_close($curl);