cURL работает в моем терминале — ошибка в PHP
Вопрос
Я просмотрел все остальные терминалы .Вопросы по PHP и не смог найти решения.
Я работаю с BOX API, и это работает для получения списка файлов в папке:
curl https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
Но это не работает:
$postURL="https://api.box.com/2.0/folders/0";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $postURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO'));
$data = curl_exec($ch);
curl_close($ch);
Чего мне не хватает в переводе?
Решение
Я смог воспроизвести ваши результаты.Это похоже на вашу первую попытку использования curl
команда использует GET
способ.Я включил --trace-ascii
по вашему запросу curl как таковому:
curl --trace-ascii test.txt https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
Содержание test.txt показывает, что GET
делается запрос.
Ваш PHP-скрипт использует POST
способ.Когда я изменился CURLOPT_POST
Для false
, PHP-скрипт сработал и у меня.Похоже, что сервер ожидает GET
запрос вместо POST
просьба.
Не связан с StackOverflow