Почему Curl возвращает 400 плохой запрос, хотя тот же запрос Ajax работает в браузере?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Почему Curl возвращает 400 плохой запрос, хотя тот же запрос Ajax работает в браузере?

Сообщение Anonymous »

Я пытаюсь воспроизвести запрос в браузере AJAX, используя Curl's PHP, но сервер всегда отвечает с помощью HTTP 400 Bad Request. < /p>
Вот мой текущий код: < /p>
$headers = [
"Accept : application/json, text/javascript, */*; q=0.01",
"Content-Type : application/json",
"X-Requested-With : XMLHttpRequest",
];

$data = [
"param1" => "value1",
"param2" => "value2"
];

$ch = curl_init('https://example.com/api/report.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

echo $httpCode;
< /code>
Когда я открываю браузер и выполняю запрос через Devtools → Network, он работает отлично. Но с помощью Curl я всегда получаю HTTP 400. < /P>
Я пробовал: < /p>
  • Использование DSON-кодируемых данных. Из предыдущих запросов.
Вопрос:
Чего мне не хватает? Как я могу сделать свой запрос на завиток ведут себя точно так же, как запрос браузера Ajax, чтобы сервер прекратил возврат 400?

Подробнее здесь: https://stackoverflow.com/questions/797 ... st-works-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»