cURL funciona en la terminal - error en PHP
Pregunta
Revisé todos los demás terminales vs.Preguntas de PHP y no pude encontrar una solución.
Estoy trabajando con BOX API y esto funciona para recuperar una lista de archivos en una carpeta:
curl https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
Pero esto no funciona:
$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);
¿Qué me falta en la traducción?
Solución
Pude reproducir tus resultados.Parece su primer intento usando el curl
El comando está usando el GET
método.yo habilité --trace-ascii
en su solicitud de rizo como tal:
curl --trace-ascii test.txt https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
El contenido de test.txt muestra que un GET
se está realizando la solicitud.
Su script PHP está usando el POST
método.cuando cambié CURLOPT_POST
a false
, el script PHP también funcionó para mí.Parece que el servidor está esperando un GET
solicitud en lugar de una POST
pedido.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow